CVE-2026-93138

bpf: Fix vmlinux BTF prep race in bpf_get_btf_vmlinux

HIGH
7.8
CVSS Score
Published: September 17, 2026 at 04:11 PM UTC
Updated: October 19, 2026 at 10:17 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
HIGH7.8
Exploit prediction
EPSS 0.2%

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.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

5.58580ac9404f6240668a026785d7d8856f0530409
Vendor states this is fixed in 2892f3f44bf865c8fb6b6c0960edec4cc91806ee (fixed)
Vendor states this is fixed in 86d11c594d60b255b526fa5260f669463fb1a063 (fixed)
Vendor states this is fixed in 92863e678070f57c17c868e4bfa2441a5c61ad2b (fixed)
Vendor states this is fixed in 978524ecfc1c539282df5858de1eec20748c6f74 (fixed)
Vendor states this is fixed in a7fe72d780122eb934536f1719abad445f6afdf7 (fixed)
Vendor states this is fixed in e18a10b39c994f04e1ebd7f8fc042bb1ca8ad053 (fixed)
Vendor states this is fixed in eaf302628a78806f66d8224d6ba03fb4d5025de4 (fixed)
Vendor states this is fixed in f32a4a40bc635be25d6816da4bd91e9e58c31bf3 (fixed)
Vendor states this is fixed in 5.10.270 (unaffected)
Vendor states this is fixed in 5.15.221 (unaffected)
Vendor states this is fixed in 5.5 (unaffected)
Vendor states this is fixed in 6.1.188 (unaffected)
Vendor states this is fixed in 6.12.110 (unaffected)
Vendor states this is fixed in 6.18.52 (unaffected)
Vendor states this is fixed in 6.6.157 (unaffected)
Vendor states this is fixed in 7.2.6 (unaffected)
Vendor states this is fixed in 7.3 (unaffected)
Vendor states this is fixed in 7.3-rc1 (unaffected)

Remediation

No guide yet

No remediation guidance has been written for this CVE yet, and no fixed version or vendor advisory is recorded against it.

CVSS

7.8HIGHLinux
Vector?

Quick Info

StatusRECEIVED

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card