Katalog CVE

CVE-2026-93138

WysokieCVSS 7.8
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.18%

Percentyl 7 - wyżej niż 7% wszystkich znanych CVE

Streszczenie

W jądrze Linux w funkcji bpf_get_btf_vmlinux() występuje wyścig podczas publikowania wyniku parsowania BTF vmlinux. Wynik jest publikowany przez zwykłe zapisanie, a odczytywany bez blokady, co na architekturach o słabym modelu pamięci może pozwolić na obserwację wskaźnika przed widocznością zainicjalizowanych danych. Poprawka wprowadza bariery pamięci (smp_store_release/smp_load_acquire).

Ocena ryzyka

Potencjalny odczyt niepełnych danych BTF przez programy BPF, co może prowadzić do nieprawidłowego działania lub awarii systemu.

Rekomendacja

Zastosuj aktualizację jądra, aby zapewnić właściwą kolejność pamięci w bpf_get_btf_vmlinux().

Inne podatności w Linux kernel

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

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.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS