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.
Published: 2026-09-25
Score: 7.0 High
EPSS: < 1% Very Low
KEV: No
Impact: Kernel memory corruption due to a use‑after‑free
Action: Apply Patch
AI Analysis

Impact

A flaw in the Linux kernel’s BPF rbtree handling allows the comparator function to be executed while the tree’s root lock is held. The obstacle is that a static subprogram called from the comparator can unlock the tree, remove the node being compared, free its memory, and then re‑lock the tree. When the original insertion routine resumes, it operates on a stale parent pointer and links freed memory back into the tree. This re‑entrancy can corrupt kernel memory and, in the context of BPF program execution, may lead to code execution or other severe consequences. The text explicitly describes a use‑after‑free and a resulting memory corruption, but it does not confirm that arbitrary code execution is guaranteed, only that it "could" happen if the attacker takes advantage of the bug.

Affected Systems

All Linux kernel builds that include the unpatched bpf_rbtree_add implementation are potentially affected. The specific range of kernel versions is not listed; any kernel that contains the vulnerable code before the accepted patch could be impacted. As the bug exists in the core BPF subsystem, it applies generally across distributions that ship the affected kernel source.

Risk and Exploitability

The CVSS score is 7.0 and the EPSS score is <1%, indicating a moderate severity with a very low estimated exploitation probability. The vulnerability is not listed in the CISA KEV catalog, so it has not yet been widely observed. Because the flaw involves a use‑after‑free within privileged kernel code, the potential impact remains high. The likely attack vector is a malicious BPF program; based on the description, it is inferred that an attacker would need privileged access. If exploited, kernel corruption could lead to privilege escalation or denial of service.

Generated by OpenCVE AI on October 1, 2026 at 04:00 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a release containing the commit that fixes the BPF rbtree lock check.
  • If an immediate kernel update is unavailable, restrict BPF program loading to privileged users only or enforce strict BPF verification policies.
  • If BPF functionality is not required on the host, disable BPF support in the kernel configuration to remove the vulnerable code path.

Generated by OpenCVE AI on October 1, 2026 at 04:00 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 21 Oct 2026 13:15:00 +0000


Wed, 30 Sep 2026 14:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Tue, 29 Sep 2026 13:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-825
References
Metrics threat_severity

None

cvssV3_1

{'score': 7.0, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H'}

threat_severity

Moderate


Fri, 25 Sep 2026 17:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Fri, 25 Sep 2026 10:30:00 +0000

Type Values Removed Values Added
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.
Title bpf: Check ancestor frames for rbtree callbacks
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-21T12:54:13.942Z

Reserved: 2026-09-25T10:19:56.072Z

Link: CVE-2026-98047

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-25T11:17:33.553

Modified: 2026-10-21T13:21:20.180

Link: CVE-2026-98047

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-09-25T00:00:00Z

Links: CVE-2026-98047 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-01T04:00:14Z

Weaknesses
  • CWE-825

    Expired Pointer Dereference