Description
In the Linux kernel, the following vulnerability has been resolved:

bpf: Reject resilient lock operations in rbtree callbacks

__bpf_rbtree_add() keeps parent and link pointers live across calls to the
program-supplied comparison callback. The verifier therefore requires the
root's lock to remain held throughout the callback.

The helper path enforces this rule for bpf_spin_lock() and
bpf_spin_unlock(), but the resilient lock kfunc argument path does not.
Since resilient locks may protect BPF rbtree roots, a callback can release
the root lock and let another CPU remove and free the node referenced by
the in-progress tree walk. The walk then resumes using freed pointers.

Reject resilient lock kfuncs in an rbtree comparison callback, matching
the existing policy for the spin lock helpers. Resilient-lock-protected
trees remain valid when their comparison callbacks leave lock state alone.
Published: 2026-09-25
Score: n/a
EPSS: n/a
KEV: No
Impact: Use after free in kernel leading to potential arbitrary kernel code execution
Action: Immediate patch
AI Analysis

Impact

The vulnerability arises in the Linux kernel's BPF subsystem, where a rbtree callback may execute a resilient lock operation that fails to keep the root lock held during callback execution. This oversight allows the callback to release the lock, enabling another CPU to remove and free the node currently being walked. The traversal then continues using freed pointers, creating a use-after-free condition. A successful exploitation could corrupt kernel memory and, in the kernel context, provide an attacker with the possibility of arbitrary code execution.

Affected Systems

All Linux kernel configurations that incorporate BPF rbtree callbacks without the recent patch are affected. The vulnerability is present in any Linux kernel version prior to the commit that rejects resilient lock operations in rbtree comparison callbacks. Specific version ranges are not documented in the supplied data.

Risk and Exploitability

The CVSS score is unspecified in the data, but the presence of a use-after-free in the kernel indicates high severity. No EPSS score is available, and the vulnerability is not listed in the CISA KEV catalog. Likely attack vectors involve running a malicious BPF program that performs a resilient lock operation within a rbtree comparison callback. Such a program would require local kernel access or elevated privileges, pointing to a potential local privilege escalation or kernel exploit path.

Generated by OpenCVE AI on September 25, 2026 at 15:46 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the latest Linux kernel update that contains the patch rejecting resilient lock operations in rbtree callbacks, ensuring the verifier enforces the lock policy for all lock helpers.
  • If a kernel upgrade cannot be applied immediately, disable the use of resilient lock operations within any BPF rbtree callbacks by enforcing stricter verifier checks or by recompiling the kernel without support for resilient locks in BPF contexts.
  • Deploy kernel memory protection mechanisms such as KASAN or eBPF ring buffer monitoring to detect use‑after‑free events and contain potential exploitation until a permanent fix is deployed.

Generated by OpenCVE AI on September 25, 2026 at 15:46 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 25 Sep 2026 16:15: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: Reject resilient lock operations in rbtree callbacks __bpf_rbtree_add() keeps parent and link pointers live across calls to the program-supplied comparison callback. The verifier therefore requires the root's lock to remain held throughout the callback. The helper path enforces this rule for bpf_spin_lock() and bpf_spin_unlock(), but the resilient lock kfunc argument path does not. Since resilient locks may protect BPF rbtree roots, a callback can release the root lock and let another CPU remove and free the node referenced by the in-progress tree walk. The walk then resumes using freed pointers. Reject resilient lock kfuncs in an rbtree comparison callback, matching the existing policy for the spin lock helpers. Resilient-lock-protected trees remain valid when their comparison callbacks leave lock state alone.
Title bpf: Reject resilient lock operations in 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-09-25T10:24:05.380Z

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

Link: CVE-2026-98060

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

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

Modified: 2026-09-25T11:17:35.000

Link: CVE-2026-98060

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-25T16:00:18Z

Weaknesses