Skip to main content
← All vulnerabilities
CVE-2024-50262

bpf: Fix out-of-bounds write in trie_get_next_key()

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 4.19.323, 5.4.285, 5.10.229, 5.15.171, 6.1.116, and 2 more
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: total

Summary

In the Linux kernel, the following vulnerability has been resolved: bpf: Fix out-of-bounds write in trie_get_next_key() trie_get_next_key() allocates a node stack with size trie->max_prefixlen, while it writes (trie->max_prefixlen + 1) nodes to the stack when it has full paths from the root to leaves. For example, consider a trie with max_prefixlen is 8, and the nodes with key 0x00/0, 0x00/1, 0x00/2, ... 0x00/8 inserted. Subsequent calls to trie_get_next_key with _key with .prefixlen = 8 make 9 nodes be written on the node stack with size 8.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • Linux Linux

    From b471f2f1de8b816f1e799b80aa92588f3566e4bd · fixed in e8494ac079814a53fbc2258d2743e720907488ed; From b471f2f1de8b816f1e799b80aa92588f3566e4bd · fixed in 91afbc0eb3c90258ae378ae3c6ead3d2371e926d; From b471f2f1de8b816f1e799b80aa92588f3566e4bd · fixed in 590976f921723d53ac199c01d5b7b73a94875e68; From b471f2f1de8b816f1e799b80aa92588f3566e4bd · fixed in 86c8ebe02d8806dd8878d0063e8e185622ab6ea6; From b471f2f1de8b816f1e799b80aa92588f3566e4bd · fixed in a035df0b98df424559fd383e8e1a268f422ea2ba; From b471f2f1de8b816f1e799b80aa92588f3566e4bd · fixed in 90a6e0e1e151ef7a9282e78f54c3091de2dcc99c; From b471f2f1de8b816f1e799b80aa92588f3566e4bd · fixed in c4b4f9a9ab82238cb158fa4fe61a8c0ae21a4980; From b471f2f1de8b816f1e799b80aa92588f3566e4bd · fixed in 13400ac8fb80c57c2bfb12ebd35ee121ce9b4d21

  • Linux Linux

    4.16

  • KernelLinux

    From 4.16.0 · fixed in 4.19.323; From 4.20.0 · fixed in 5.4.285; From 5.5.0 · fixed in 5.10.229; From 5.11.0 · fixed in 5.15.171; From 5.16.0 · fixed in 6.1.116; From 6.2.0 · fixed in 6.6.60; From 6.7.0 · fixed in 6.11.7

References 8

git.kernel.org