CVE-2026-99139 in Linux
Sumário
de VulDB • 28/10/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
tcp: corrige uso-após-liberação (use-after-free) em do_tcp_getsockopt(TCP_CONGESTION)
do_tcp_getsockopt() lê icsk->icsk_ca_ops->name sem manter o bloqueio rcu_read_lock(). Desde o commit 0baf26b0fcd7 ("bpf: tcp: Suporte a tcp_congestion_ops no bpf"), icsk_ca_ops pode apontar para memória de struct_ops BPF alocada dinamicamente que pode ser liberada concorrentemente via setsockopt(TCP_CONGESTION), levando a um uso-após-liberação (use-after-free).
BUG: KASAN: slab-use-after-free em _copy_to_user+0x37/0x60 Leitura de tamanho 16 no endereço ffff888013505260 pela tarefa exploit/149 _copy_to_user+0x37/0x60 do_tcp_getsockopt+0x158a/0x2460 (net/ipv4/tcp.c:4585) tcp_getsockopt+0x91/0xf0 __sys_getsockopt+0xf7/0x170
Corrige-se isso mantendo o bloqueio rcu_read_lock() em torno do acesso a ca_ops->name, usando READ_ONCE() para carregar icsk_ca_ops e copiando o nome para um buffer de pilha antes de liberar o bloqueio. Além disso, anota as gravações relevantes em icsk_ca_ops com WRITE_ONCE() para corrigir o problema concomitante de data-race (corrida de dados) do KCSAN.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.