
CVE-2026-43284/CVE-2026-43500 'DirtyFrag' Script de detecção de patch benigno e mitigação
TL;DR: Existem dois novos bugs no kernel Linux. Este script informa se você está vulnerável. Atualize seus sistemas.
Em 7 de maio de 2026, uma classe de vulnerabilidade chamada Dirty Frag foi divulgada publicamente pelo pesquisador de segurança Hyunwoo Kim (@v4bel) — antes do prazo, após uma quebra de embargo que o forçou a publicar antes que os patches estivessem prontos.
Ela permite que qualquer usuário local sem privilégios obtenha acesso root. Sem condição de corrida. Sem janela de timing. Altamente confiável.
Dois subsistemas são afetados:
| CVE | Subsistema | Módulos | Introduzido | Corrigido (upstream) |
|---|
| CVE-2026-43284 | IPsec ESP | esp4, esp6 | Jan 2017 (cac2661c53f3) | 7 mai 2026 (f4c50a4034e6) |
| CVE-2026-43500 | RxRPC | rxrpc | Jun 2023 (2dc334f1a63a) | 10 mai 2026 (aa54b1d27fe0) |
Nenhum dos bugs isoladamente é totalmente confiável — o caminho ESP exige a capacidade de criar um namespace de usuário (que o AppArmor do Ubuntu bloqueia), e o caminho RxRPC precisa do rxrpc.ko carregado (o que a maioria das distribuições não faz por padrão). Juntos, eles cobrem os pontos cegos um do outro, tornando a cadeia funcional em praticamente todas as principais distribuições.
Uma prova de conceito pública está disponível. Considere que ela já está em uso ativo.
Ele verifica seu sistema quanto às condições que tornam a exploração possível e informa especificamente por que você está exposto — não apenas um sim ou não.
| Verificação | O que ela procura |
|---|---|
| Versão do kernel | Este kernel está em alguma das faixas afetadas? |
| Patch — CVE-2026-43284 | A correção esp4/esp6 (f4c50a4034e6) está no seu pacote de kernel? |
| Patch — CVE-2026-43500 | Sua distribuição fez backport da correção rxrpc (aa54b1d27fe0)? |
Módulo esp4 | Carregado, carregável ou na blacklist? |
Módulo esp6 | Carregado, carregável ou na blacklist? |
Módulo rxrpc | Carregado, carregável ou na blacklist? |
| Socket netlink XFRM | Um usuário sem privilégios pode abrir um agora? |
| Socket AF_RXRPC | Um usuário sem privilégios pode abrir um agora? |
| Mitigações | AppArmor, SELinux, namespaces de usuário sem privilégios, arquivo de blacklist |
Ele não corrige nada. Ele não explora nada. Ele apenas informa a verdade sobre o seu sistema.
python3 dirty_frag_detect.py
Só isso. Saída com código de cores, motivos específicos para cada descoberta e um resumo de remediação no final.
[
]
A correção real é atualizar seu kernel. Verifique os avisos de segurança da sua distribuição:
| Distribuição | Onde procurar |
|---|---|
| Ubuntu / Debian | sudo apt-get update && sudo apt-get dist-upgrade |
| RHEL / AlmaLinux / Rocky | sudo dnf update kernel |
| Arch | sudo pacman -Syu linux |
| CloudLinux | Aviso do CloudLinux |
Enquanto você espera (ou se os patches ainda não estiverem disponíveis para sua distribuição), coloque os módulos vulneráveis na blacklist:
sudo sh -c "printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' \
> /etc/modprobe.d/dirtyfrag.conf; \
rmmod esp4 esp6 rxrpc 2>/dev/null; \
echo 3 > /proc/sys/vm/drop_caches"
⚠️ Antes de fazer isso:
- Colocar
esp4/esp6na blacklist quebrará túneis IPsec (strongSwan, Libreswan; WireGuard não é afetado). Não aplique isso em gateways VPN.- Colocar
rxrpcna blacklist quebrará clientes do sistema de arquivos distribuído AFS. Quase ninguém usa isso — mas verifique primeiro.
Importante: se o seu sistema pode ter sido alvo antes da mitigação ser aplicada, o exploit pode modificar binários no cache de páginas sem tocar no disco. Ferramentas de integridade de arquivos (Tripwire, AIDE) que verificam checksums no disco não verão nada errado. Reiniciar limpa o cache de páginas e restaura o estado no disco.
Ambos os bugs vivem nos caminhos rápidos de descriptografia in-place do kernel. Quando um buffer de socket carrega fragmentos paginados que não são de propriedade privada do kernel — por exemplo, páginas de pipe anexadas via splice() ou sendfile() — os caminhos de recebimento ESP e RxRPC descriptografam diretamente sobre essas páginas com suporte externo, em vez de copiar primeiro.
Um atacante pode direcionar uma página do cache de /usr/bin/su (ou qualquer outro arquivo legível) para um desses caminhos de descriptografia, usando sua própria chave para que a "saída descriptografada" sejam os bytes que ele escolher. O kernel escreve esses bytes diretamente na cópia em cache na memória do su. O arquivo no disco não é tocado. O kernel nunca marca a página como suja.
A partir desse ponto, todo processo que executa su roda a versão do atacante — até drop_caches ou uma reinicialização.
A variante ESP (cac2661c53f3) e a variante RxRPC (2dc334f1a63a) compartilham o mesmo destino, mas têm pré-requisitos diferentes que se cancelam, tornando a cadeia confiável em todas as principais configurações.
Para o relatório técnico completo, veja V4bel/dirtyfrag.
| Data | Evento |
|---|---|
| 2026-04-30 | Reportado à equipe de segurança do kernel Linux |
| 2026-05-07 | Embargo quebrado por terceiros; Hyunwoo Kim publica antes do prazo |
| 2026-05-07 | PoC pública lançada; CVE-2026-43284 atribuída |
| 2026-05-07 | Correção da CVE-2026-43284 (f4c50a4034e6) mesclada em netdev/net.git |
| 2026-05-08 | CVE-2026-43500 reservada; distribuições começam a enviar kernels corrigidos para CVE-2026-43284 |
| 2026-05-10 | Correção da CVE-2026-43500 (aa54b1d27fe0) mesclada na mainline |
| 2026-05-11 | Backports da distribuição para CVE-2026-43500 em andamento |
Crédito: Hyunwoo Kim (@v4bel) pela pesquisa original, divulgação e PoC.
Apenas detecção. Aponte-o para sistemas que você está autorizado a avaliar.