CVE-2026-93138

Source
https://cve.org/CVERecord?id=CVE-2026-93138
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-93138.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-93138
Downstream
Published
2026-09-17T16:11:38Z
Modified
2026-09-18T03:47:26Z
Summary
bpf: Fix vmlinux BTF prep race in bpf_get_btf_vmlinux
Details

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.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/93xxx/CVE-2026-93138.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
8580ac9404f6240668a026785d7d8856f0530409
Fixed
f32a4a40bc635be25d6816da4bd91e9e58c31bf3
Fixed
a7fe72d780122eb934536f1719abad445f6afdf7
Fixed
e18a10b39c994f04e1ebd7f8fc042bb1ca8ad053
Fixed
978524ecfc1c539282df5858de1eec20748c6f74
Fixed
eaf302628a78806f66d8224d6ba03fb4d5025de4
Fixed
2892f3f44bf865c8fb6b6c0960edec4cc91806ee
Fixed
86d11c594d60b255b526fa5260f669463fb1a063
Fixed
92863e678070f57c17c868e4bfa2441a5c61ad2b

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-93138.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.5.0
Fixed
5.10.270
Type
ECOSYSTEM
Events
Introduced
5.11.0
Fixed
5.15.221
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.188
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.157
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.12.110
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.18.52
Type
ECOSYSTEM
Events
Introduced
6.19.0
Fixed
7.2.6

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-93138.json"