CVE-2026-93138 in Linux
Sumário
de VulDB • 18/09/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
bpf: Corrige condição de corrida na preparação do BTF vmlinux em bpf_get_btf_vmlinux
A função `bpf_get_btf_vmlinux()` analisa preguiçosamente o BTF do vmlinux sob o `bpf_verifier_lock`, mas publica o resultado por meio de uma operação de armazenamento simples (plain store) e verifica novamente através de uma leitura sem bloqueio (lockless load). Nenhuma ordem é estabelecida entre as operações de armazenamento que inicializam a estrutura `btf` dentro de `btf_parse_vmlinux()` e a operação de armazenamento que publica o ponteiro: em arquiteturas com ordenação fraca, um chamador concorrente na primeira execução que segue o caminho rápido sem bloqueio poderia, em tese, observar o ponteiro antes que os conteúdos analisados fiquem visíveis. A chamada `mutex_unlock()` não ajuda esse leitor, pois ela apenas sincroniza com uma aquisição posterior do mesmo lock. Portanto, publique o ponteiro usando `smp_store_release()` e leia-o no caminho rápido utilizando `smp_load_acquire()`.
São necessárias semânticas de aquisição (acquire semantics) em vez de um `READ_ONCE` ordenado por dependência: `btf_parse_vmlinux()` também popula globais fora do objeto retornado (por exemplo, `bpf_ctx_convert.t`). Uma dependência de endereço apenas ordenaria os acessos realizados através do ponteiro e não cobriria outras variáveis globais.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.