bpf: Clear rb node linkage when freeing bpf_rb_root
CVE-2026-74344 · published 15 Aug 2026
How serious is it
- Severity: high, CVSS score 7.8 out of 10.
- No exploit prediction (EPSS) score yet.
- Not on the CISA list of exploited vulnerabilities.
- No public exploit in Exploit-DB.
Is your app affected by CVE-2026-74344?
Paste this prompt into Claude Code, Cursor or any AI coding tool: it runs a free Shippable scan of your project and fixes what it finds. Built with Lovable, Bolt or v0? Scan your live app. Or upload your package file.
Who is affected
- Linux Linux: 9c395c1b99bd23f74bc628fa000480c49593d17f to < 628a469d2a73e3844e5ee80aa002e232b0fd6493, 9c395c1b99bd23f74bc628fa000480c49593d17f to < ff3ab3fb956027ab40aca1fb3298cf20dc290273, 9c395c1b99bd23f74bc628fa000480c49593d17f to < 2eb39de4962f842d653e96818ae372665cd481fd, 9c395c1b99bd23f74bc628fa000480c49593d17f to < 574612793bed416f6c05fe7c9b50e9eb0441997e
- Linux Linux: 6.3
How to check
- Find out whether you run the affected product and which version, then compare it with the versions above.
How to fix
Copies a prompt for Claude Code, Cursor or Codex that asks it to check whether you run this product.
- Apply the vendor's update or mitigation from the references below. If there is none yet, limit exposure of the affected service until there is.
- If a vulnerable version was live, check your logs and rotate the secrets that server could read.
The advisory
In the Linux kernel, the following vulnerability has been resolved:
bpf: Clear rb node linkage when freeing bpf_rb_root
bpf_rb_root_free() detaches the root by copying the current rb_root_cached
and then replacing the live root with RB_ROOT_CACHED. It then walks the
copied root and drops each object contained in the tree.
This leaves the rb node state intact while dropping the object. If the
object is refcounted and survives the drop, its bpf_rb_node_kern still
contains an owner pointer to the freed root and stale rb tree linkage. If
a later bpf_rb_root allocation reuses the same address, bpf_rbtree_remove()
can incorrectly pass the owner check and call rb_erase_cached() on a node
whose rb pointers belong to the old tree.
Mirror the list draining behavior by marking nodes as busy while the root
is being detached, then clear the rb node and release the owner before
dropping the containing object. This makes surviving nodes unowned and
safe to reject from remove or accept for a later add.
Check your whole app
Dependencies are only half of it. Free and read-only: before you push, run npx shippable-dev scan localhost:3000 in your project folder, no account needed. For your live app, you prove it's yours with a one-line tag first.
References
- git.kernel.org/stable/c/628a469d2a73e3844e5ee80aa002e232b0fd6493
- git.kernel.org/stable/c/ff3ab3fb956027ab40aca1fb3298cf20dc290273
- git.kernel.org/stable/c/2eb39de4962f842d653e96818ae372665cd481fd
- git.kernel.org/stable/c/574612793bed416f6c05fe7c9b50e9eb0441997e
- git.kernel.org/stable/c/4a7910ee060d8ce55612f5b3cc267f3a265a3cec
Merged from CVE List. Last updated 25 Oct 2026. All vulnerabilities · RSS · JSON