CVE-2026-31695: falha no kernel Linux dá root a usuário local
O pesquisador Alexander Popov divulgou a CVE-2026-31695, um use-after-free no código de gestão de dispositivos de rede do kernel Linux, presente há quase cinco anos. Um usuário local sem privilégios pode escalar para root explorando uma corrida entre o descadastro de uma interface de rede e seu acesso simultâneo pela interface netlink do ethtool. A fonte não cita correção disponível nem exploração em curso; restrinja contas locais e monitore a atualização do kernel.
O que aconteceu
O pesquisador Alexander Popov divulgou a CVE-2026-31695, uma falha no kernel Linux que permite a um usuário local sem privilégios obter acesso total (root). Segundo a fonte, o problema está no código de gestão de dispositivos de rede e existe há quase cinco anos.
Por que importa
A falha é explorável por quem já tem uma conta local na máquina, como funcionários, serviços comprometidos ou invasores que entraram por outro caminho. Com root, o atacante controla o sistema, acessa dados e apaga rastros. Servidores Linux com vários usuários ou muitas contas de serviço são os mais expostos.
O que fazer
Restrinja contas locais e privilégios nas máquinas Linux e monitore o lançamento da correção do kernel. Aplique a atualização da distribuição assim que estiver disponível.
Para o time técnico
- CVE
- CVE-2026-31695
- Afetados
- Kernel Linux (gestão de dispositivos de rede) · Kernel Linux. A fonte diz que o código com a falha está presente há quase cinco anos, mas não lista versões afetadas.
- Exploração
- Falha divulgada pelo pesquisador Alexander Popov. A fonte descreve a mecânica de exploração, mas não cita PoC pública nem exploração em campo.
- Correção
- A fonte não cita versão corrigida, patch nem mitigação.
- Vetor
- Use-after-free na gestão de dispositivos de rede do kernel, exigindo usuário local sem privilégios. Uma thread remove a interface pai veth1 via mensagem RTM_DELLINK; netdev_run_todo libera a struct net_device de veth1. Em paralelo, outra thread executa ETHTOOL_MSG_FEATURES_SET na interface filha virt_wifi0; ethnl_ops_begin chama pm_runtime_get_sync(dev->dev.parent), cujo ponteiro aponta para uma struct device dentro da memória já liberada. A função lê e escreve na memória liberada, criando a primitiva de exploração.
- Mais detalhes
- Exploração por confusão de tipo: dados controlados pelo atacante são alocados na mesma região de memória liberada (kmalloc-cg-4k) e interpretados como uma struct device falsa usada por pm_runtime_get_sync. A fonte afirma que o atacante desvia das proteções CONFIG_SLAB_BUCKETS e CONFIG_RANDOM_KMALLOC_CACHES, que dificultam heap spraying e realocação controlada. Ataque cross-cache não era viável porque a janela da corrida era curta demais. O texto da fonte está truncado no final.
Linha do tempo
Incidente aberto.
Fontes 1 fonte
- @ptdbugs @ptdbugs


