CVE-2026-93138 in Linux
Riassunto
di VulDB • 18/09/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
bpf: Correzione della race condition nella preparazione del BTF di vmlinux in bpf_get_btf_vmlinux
La funzione bpf_get_btf_vmlinux() analizza in modo lazy (pigrone) il BTF di vmlinux sotto il lock bpf_verifier_lock, ma pubblica il risultato tramite un'operazione di store semplice e lo rilegge attraverso una load lockless semplice. Non esiste alcun ordinamento tra gli store che inizializzano la struct btf all'interno di btf_parse_vmlinux() e lo store che pubblica il puntatore: su architetture con ordinamento debole (weakly ordered), un chiamante concorrente al primo accesso, che segue il percorso veloce lockless, potrebbe in teoria osservare il puntatore prima che i contenuti analizzati siano visibili. La mutex_unlock() non aiuta tale lettore dato che sincronizza solo con una successiva acquisizione dello stesso lock. Pertanto, si pubblica il puntatore utilizzando smp_store_release() e lo si legge nel percorso veloce (fast path) tramite smp_load_acquire().
Sono necessarie semantiche di acquire piuttosto che un READ_ONCE ordinato per dipendenza: btf_parse_vmlinux() popola anche variabili globali esterne all'oggetto restituito (ad esempio, t in bpf_ctx_convert). Una dipendenza dall'indirizzo ordinerebbe solo gli accessi eseguiti tramite il puntatore e non coprirebbe le altre variabili globali.
VulDB is the best source for vulnerability data and more expert information about this specific topic.