CVE Catalog

CVE-2026-98060

Unknown
Published: Translated: NVD NIST

Summary

In the Linux kernel, __bpf_rbtree_add() keeps parent and link pointers live across calls to the program-supplied comparison callback, so the verifier 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. A callback can release the root lock and let another CPU remove and free the node referenced by the in-progress tree walk, leading to use of freed pointers.

Risk Assessment

A local attacker with CAP_BPF privileges can trigger a use-after-free in the kernel, potentially leading to privilege escalation or system crash. The risk is high due to the potential for code execution.

Recommendation

Update the Linux kernel to a version containing the fix. Until the update, restrict BPF access (CAP_BPF) to trusted users only.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS