CVE-2026-93138: bpf: Fix vmlinux BTF prep race in bpf_get_btf_vmlinux

Published Sep 17, 2026
·
Updated

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

bpf: Fix vmlinux BTF prep race in bpfgetbtfvmlinux

bpfgetbtfvmlinux() lazily parses the vmlinux BTF under the bpfverifierlock, but publishes the result through a plain store and re-checks it through a plain lockless load. Nothing orders the stores initializing the struct btf inside btfparsevmlinux() against the store publishing the pointer: On a weakly ordered arch, a concurrent first-time caller taking the lockless fast path could in principle observe the pointer before the parsed contents are visible. The mutexunlock() does not help such a reader given it only synchronizes with a later acquisition of the same lock. Thus, publish the pointer with smpstorerelease() and read it on the fast path with smploadacquire().

Acquire semantics are needed rather than a dependency-ordered READONCE(): btfparsevmlinux() also populates globals outside the returned object (e.g. bpfctxconvert.t). An address dependency would only order accesses performed through the pointer and not cover other globals.

Event History

Sep 17, 2026
CVE Published
via MITRE·04:11 PM
Data Sourced
via MITRE·04:11 PM
Description

Frequently Asked Questions

1

Which systems are exposed to the race condition?

The issue can occur on weakly ordered architectures when concurrent first-time callers access vmlinux BTF. A caller using the lockless fast path could observe the published pointer before the BTF contents and related global state are visible.

2

What must a correct fix provide?

The vmlinux BTF pointer must be published with release semantics and read on the lockless fast path with acquire semantics. A dependency-ordered read alone is insufficient because parsing also initializes globals outside the returned BTF object.

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