Voltar

Uma Corrida Dentro de Uma Corrida: Explorando CVE-2025-38617 em Sockets de Pacotes Linux

A CVE-2025-38617, uma vulnerabilidade `use-after-free` de 20 anos no subsistema `AF_PACKET` (net/packet/af_packet.c) do kernel Linux, presente desde o Linux 2.6.12 e corrigida na versão 6.16, permite a qualquer usuário não privilegiado com `CAP_NET_RAW` (obtido via `user namespaces`) escalar privilégios completos e realizar fuga de container. A causa raiz reside em um `WRITE_ONCE(po->num, 0)` condicional que zera o número do protocolo apenas quando o socket já estava em execução. Isso deixa uma janela onde um evento `NETDEV_UP` pode registrar novamente o hook do protocolo enquanto `packet_set_ring()` está no meio de um processo de liberação. O exploit estende essa condição de corrida de nanossegundos para uma janela determinística de um segundo, pré-adquirindo o `pg_vec_lock` através de uma chamada `tpacket_snd()` com sleep. Em seguida, utiliza um atraso de filtro BPF e uma interrupção da fila de espera `timerfd` com 720.000 entradas para vencer a segunda corrida. O ataque resultante, em cinco estágios, encadeia um `page overflow` em corrupção de `simple_xattr`, leitura/escrita de heap via sobreposição de array `pgv`, leitura/escrita arbitrária de página através de um par de `ring buffers` master-puppet, bypass de KASLR via recuperação de ponteiro `anon_pipe_buf_ops` e, finalmente, escalonamento de privilégios via `syscall patching`, superando as mitigações `CONFIG_RANDOM_KMALLOC_CACHES` e `CONFIG_SLAB_VIRTUAL`.

Avalie este artigo:
Compartilhar:
Categoria
CEVIU Segurança da Informação
Publicado
09 de março de 2026
Fonte
CEVIU Segurança da Informação

Quer receber mais sobre CEVIU Segurança da Informação?

Conteúdo curado diariamente, direto no seu e-mail.

Conteúdo curado diariamenteDiversas categoriasCancele quando quiser
Uma Corrida Dentro de Uma Corrida: Explorando CVE-2025-38617 em Sockets de Pacotes Linux — CEVIU News