What’s Vulnerable › Vulnerabilities
CVE-2026-98047: bpf: Check ancestor frames for rbtree callbacks
- Severity: unknown
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.2% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-09-25 · updated 2026-10-21
Description
In the Linux kernel, the following vulnerability has been resolved: bpf: Check ancestor frames for rbtree callbacks bpf_rbtree_add() invokes its comparator while the caller holds the root lock. The native insertion code retains raw parent and link pointers across the callback, so the verifier prohibits unlocking, consuming tree nodes, or changing RCU state from that callback. in_rbtree_lock_required_cb() only checks the innermost verifier frame. Static subprogram calls are permitted while holding a spin lock, and such a call pushes a frame without in_callback_fn set. Consequently, all callback restrictions disappear in the nested frame. The subprogram can unlock the tree, remove and drop the node being compared, then relock. Native insertion resumes with the stale parent pointer and links freed memory into the tree. Walk all active frames for the rbtree callback instead. Benign static subprograms remain permitted, while callback restrictions follow execution into nested frames.
Affected products
- Linux kernel: 6.9 — fixed in 7.3
How to fix
Upgrade to a fixed version: Linux kernel 7.3. Check the vendor advisory for mitigations.
References
- https://git.kernel.org/stable/c/2410cb2ac0416dd2795a81984c8c73d7250bd8c4
- https://git.kernel.org/stable/c/252e9b476af723edd299a5c71c389ec018e46656
- https://git.kernel.org/stable/c/369f4ce734570bdfedaa4b5ca50e2a3f6a892728
- https://git.kernel.org/stable/c/b545fa447e09e6844868deb2bee228827fe54d15
Get alerted when CVE-2026-98047 or the next vulnerability affects your stack