CVE-2026-98060: bpf: Reject resilient lock operations in rbtree callbacks

Published Sep 25, 2026
·
Updated

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

bpf: Reject resilient lock operations in rbtree callbacks

bpfrbtreeadd() 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 bpfspinlock() and bpfspinunlock(), 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.

Affected Software

1 affected component
Linux Linux kernel

Event History

Sep 25, 2026
CVE Published
via MITRE·10:24 AM
Data Sourced
via MITRE·10:24 AM
Description

Frequently Asked Questions

1

What conditions are required for this issue to be exploitable?

A BPF program must use an rbtree protected by a resilient lock and invoke a resilient-lock kfunc from the program-supplied rbtree comparison callback. Releasing the root lock during that callback can allow another CPU to remove and free a node while the tree walk still holds pointers to it.

2

Are resilient-lock-protected BPF rbtree programs affected if their comparison callbacks do not change lock state?

No. Resilient-lock-protected trees remain valid when their comparison callbacks leave the lock state unchanged.

3

What is the mitigation if the fix cannot be applied immediately?

Do not allow resilient lock kfunc operations in BPF rbtree comparison callbacks, especially operations that release the lock protecting the rbtree root. Keep the root lock held throughout the callback.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203