O pesquisador Jaeyoung Chung, da Universidade Nacional de Seul, revelou uma vulnerabilidade de escalonamento de privilégios no kernel Linux, rastreada como CVE-2026-46242 e apelidada de “Bad Epoll”. A falha permite que um usuário local sem privilégios obtenha acesso root em servidores, desktops e dispositivos Android, com exploit público que alcança 99% de taxa de sucesso nos sistemas testados. Um patch já está disponível.
O que é o Bad Epoll
Bad Epoll é uma vulnerabilidade do tipo use-after-free associada a uma condição de corrida (race condition) no subsistema epoll do kernel Linux. O epoll é o mecanismo central de notificação de eventos de I/O do Linux — servidores web, bancos de dados, navegadores e praticamente todo serviço de rede dependem dele para monitorar múltiplas conexões simultaneamente. Trata-se de um componente que não pode ser desabilitado sem comprometer o funcionamento básico do sistema operacional.
A falha reside no caminho de liberação de arquivos do epoll (ep_remove). Quando dois descritores de arquivo que se monitoram mutuamente são fechados ao mesmo tempo, duas rotinas do kernel tentam limpar o mesmo objeto interno. Uma delas libera a memória enquanto a outra continua escrevendo nela. Essa colisão, embora dure apenas cerca de seis instruções de máquina, permite ao atacante corromper a memória do kernel e escalar para root, conforme detalhou Chung em seu relatório técnico e código do exploit no GitHub.
Como funciona o exploit
O exploit construído por Chung usa quatro objetos epoll agrupados em dois pares. Ao fechar um par, a condição de corrida é acionada, e o outro par funciona como objeto vítima. A técnica transforma um use-after-free de 8 bytes em um ataque cross-cache contra um objeto de arquivo, obtendo leitura arbitrária de memória do kernel via /proc/self/fdinfo.
Em seguida, o atacante sequestra o fluxo de controle com uma cadeia ROP (Return-Oriented Programming) e executa um shell com privilégios root. A janela de exploitação é estreita — apenas seis instruções de máquina —, mas o código de prova de conceito amplia essa janela e repete a tentativa sem travar o kernel, alcançando aproximadamente 99% de sucesso em ambientes testados, segundo o The Hacker News.
Dois fatores amplificam o risco. Primeiro, Chung afirma que o exploit pode ser acionado a partir do sandbox do renderizador do Chrome, o que blocaria a maioria dos outros bugs de kernel. Segundo, a falha atinge o Android — o Pixel 10 foi confirmado como vulnerável —, algo incomum para bugs de escalonamento de privilégios do Linux, que geralmente atingem apenas servidores e desktops.
O IA que errou o alvo
Bad Epoll compartilha origem com outro bug no mesmo trecho de código: o CVE-2026-43074, descoberto pelo modelo de IA Mythos, da Anthropic, durante auditoria automatizada do kernel. Os dois bugs foram introduzidos por um único commit de 2023 que alterou o código do epoll.
Mythos encontrou o primeiro bug, e um patch foi lançado no início de 2026. No entanto, o modelo de IA não detectou o segundo. Chung sugere dois motivos prováveis: a janela de temporização é extremamente estreita, dificilmente visualizável mesmo na inspeção humana do código; e, com o primeiro bug corrigido, o Bad Epoll raramente aciona o KASAN (Kernel Address Sanitizer), o detector de erros de memória do kernel, deixando pouca evidência em tempo de execução. A Anthropic já havia divulgado publicamente que seus modelos localizaram bugs de escalonamento de privilégios no kernel Linux, mas não conectou diretamente esse trabalho ao Bad Epoll.
Como relatou o SecurityWeek, a correção também enfrentou dificuldades: a primeira tentativa dos mantenedores do kernel não resolveu completamente o problema, e um patch correto só foi integrado cerca de dois meses após a divulgação inicial.
Cronologia da vulnerabilidade
- 2023: Um commit altera o código do epoll e introduz duas condições de corrida distintas.
- Início de 2026: Mythos, da Anthropic, encontra o primeiro bug (CVE-2026-43074). Patch upstream é lançado.
- 2026: Jaeyoung Chung descobre o segundo bug (CVE-2026-46242) e o submete como zero-day ao Google kernelCTF.
- Junho de 2026: Primeiro patch para o Bad Epoll é considerado insuficiente pelos mantenedores.
- Julho de 2026: Patch definitivo (commit
a6dc643c6931) é integrado ao kernel. Chung publica PoC e análise técnica completa.
Versões afetadas e impacto
Kernels baseados na versão 6.4 ou superior do Linux são afetados, a menos que já incluam o patch. Kernels mais antigos baseados na série 6.1, incluindo o Pixel 8, não são vulneráveis porque a falha foi introduzida na 6.4. O CyberSecurityNews confirmou que o Pixel 10, que executa o kernel 6.6, é atingido.
| Produto | Versões afetadas | Versões seguras | CVSS |
|---|---|---|---|
| Kernel Linux | 6.4 a 6.13 (sem patch) | Com commit a6dc643c6931 | 7.8 |
| Android (Pixel 10+) | Kernel 6.6+ | Pendente backport | 7.8 |
| Google Chrome | Sandbox do renderizador | Patch no SO hospedeiro | 7.8 |
Bad Epoll integra a família de bugs de kernel usados para obter root no Android, seguindo entradas anteriores como Bad Binder, Bad IO_uring e Bad Spin. O bug também se soma a um período intenso de falhas de escalonamento de privilégios no Linux em 2026, incluindo Copy Fail (CVE-2026-31431), Dirty Frag, DirtyClone e pedit COW.
O que fazer agora
Não existe workaround para o Bad Epoll — o epoll é indispensável ao funcionamento do sistema. Administradores devem aplicar o commit upstream a6dc643c6931 ou instalar o backport assim que sua distribuição o disponibilizar. Em sistemas baseados em Ubuntu, Debian, Fedora, RHEL ou SUSE, é recomendado atualizar o pacote do kernel imediatamente após o lançamento do backport. Em dispositivos Android, aguardar a atualização de segurança do fabricante e aplicar assim que disponível.
Ao contrário de outros bugs de kernel do período, como Copy Fail e DirtyClone (bugs determinísticos de escrita em cache de página, mais fáceis de explorar), o Bad Epoll exige vencer uma condição de corrida — o que o torna mais difícil de executar, mas o PoC público com 99% de taxa de sucesso reduz essa barreira. Não há indícios de exploração ativa no momento: a vulnerabilidade não consta no catálogo KEV da CISA, e o único código funcional conhecido é o PoC do kernelCTF.
Fontes
- The Hacker News — “Bad Epoll” Linux Kernel Flaw Lets Unprivileged Users Gain Root, Hits Android
- SecurityWeek — Proof-of-Concept Exploit Released for Linux ‘Bad Epoll’ Root Access Vulnerability
- CyberSecurityNews — “Bad Epoll” 0-Day Vulnerability Allows Root Access on Linux Servers and Android Devices
- GitHub (J-jaeyoung) — Bad Epoll: exploit e análise técnica (Jaeyoung Chung)