In the Linux kernel, the following vulnerability has been resolved: bpf: Reject resilient lock...
🔗 CVE IDs covered (1)
📋 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.
🔗 References (5)
- https://nvd.nist.gov/vuln/detail/CVE-2026-98060
- https://git.kernel.org/stable/c/71930202a0a0c49f0a3b45b41907a074cb780266
- https://git.kernel.org/stable/c/7b7b8b5960102566bd625ae829d1f330c5b5d104
- https://git.kernel.org/stable/c/cc2e065ed206aecd9b94564779244f3ffb26e356
- https://github.com/advisories/GHSA-5qvg-w7qr-xhvh