bpf: Fix vmlinux BTF prep race in bpf_get_btf_vmlinux
Summary
| CVE | CVE-2026-93138 |
| State | PUBLISHED |
| Assigner | Linux |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-09-17 17:18:08 UTC |
| Updated | 2026-09-17 17:18:08 UTC |
| Description | In the Linux kernel, the following vulnerability has been resolved:
bpf: Fix vmlinux BTF prep race in bpf_get_btf_vmlinux
bpf_get_btf_vmlinux() lazily parses the vmlinux BTF under the
bpf_verifier_lock, 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 btf_parse_vmlinux()
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 mutex_unlock() does not help such a
reader given it only synchronizes with a later acquisition of the
same lock. Thus, publish the pointer with smp_store_release()
and read it on the fast path with smp_load_acquire().
Acquire semantics are needed rather than a dependency-ordered
READ_ONCE(): btf_parse_vmlinux() also populates globals outside
the returned object (e.g. bpf_ctx_convert.t). An address
dependency would only order accesses performed through the
pointer and not cover other globals. |
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|
| CNA |
Linux |
Linux |
affected 8580ac9404f6240668a026785d7d8856f0530409 f32a4a40bc635be25d6816da4bd91e9e58c31bf3 git |
Not specified |
| CNA |
Linux |
Linux |
affected 8580ac9404f6240668a026785d7d8856f0530409 a7fe72d780122eb934536f1719abad445f6afdf7 git |
Not specified |
| CNA |
Linux |
Linux |
affected 8580ac9404f6240668a026785d7d8856f0530409 e18a10b39c994f04e1ebd7f8fc042bb1ca8ad053 git |
Not specified |
| CNA |
Linux |
Linux |
affected 8580ac9404f6240668a026785d7d8856f0530409 978524ecfc1c539282df5858de1eec20748c6f74 git |
Not specified |
| CNA |
Linux |
Linux |
affected 8580ac9404f6240668a026785d7d8856f0530409 eaf302628a78806f66d8224d6ba03fb4d5025de4 git |
Not specified |
| CNA |
Linux |
Linux |
affected 8580ac9404f6240668a026785d7d8856f0530409 2892f3f44bf865c8fb6b6c0960edec4cc91806ee git |
Not specified |
| CNA |
Linux |
Linux |
affected 8580ac9404f6240668a026785d7d8856f0530409 86d11c594d60b255b526fa5260f669463fb1a063 git |
Not specified |
| CNA |
Linux |
Linux |
affected 8580ac9404f6240668a026785d7d8856f0530409 92863e678070f57c17c868e4bfa2441a5c61ad2b git |
Not specified |
| CNA |
Linux |
Linux |
affected 5.5 |
Not specified |
| CNA |
Linux |
Linux |
unaffected 5.5 semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 5.10.270 5.10.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 5.15.221 5.15.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.1.188 6.1.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.6.157 6.6.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.12.110 6.12.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.18.52 6.18.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 7.2.6 7.2.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 7.3-rc1 * original_commit_for_fix |
Not specified |
References
| Reference | Source | Link | Tags |
|---|
| git.kernel.org/stable/c/86d11c594d60b255b526fa5260f669463fb1a063 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/a7fe72d780122eb934536f1719abad445f6afdf7 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/eaf302628a78806f66d8224d6ba03fb4d5025de4 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/f32a4a40bc635be25d6816da4bd91e9e58c31bf3 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/92863e678070f57c17c868e4bfa2441a5c61ad2b |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/978524ecfc1c539282df5858de1eec20748c6f74 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/e18a10b39c994f04e1ebd7f8fc042bb1ca8ad053 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/2892f3f44bf865c8fb6b6c0960edec4cc91806ee |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| CVE Program record |
CVE.ORG |
www.cve.org |
canonical |
| NVD vulnerability detail |
NVD |
nvd.nist.gov |
canonical, analysis |
No vendor comments have been submitted for this CVE.
There are currently no legacy QID mappings associated with this CVE.