Pesquisadores da JFrog publicaram em 25 de junho de 2026 um exploit funcional para CVE-2026-43503, batizada DirtyClone, falha de escalação de privilégios no kernel Linux (CVSS 8.8) que permite a qualquer usuário local obter acesso root corrompendo a memória de binários via pacotes de rede clonados. É a quarta variante da família DirtyFrag e afeta Debian, Ubuntu e Fedora com namespaces de usuário habilitados por padrão.

Como a falha funciona

Quando o kernel copia um pacote de rede internamente, duas funções auxiliares descartam um flag de segurança que marca a memória do pacote como compartilhada com um arquivo em disco. Essa flag ausente é toda a vulnerabilidade. O atacante carrega um binário privilegiado como /usr/bin/su na memória, conecta essas páginas de memória a um pacote de rede e força o kernel a cloná-lo.

O pacote clonado atravessa um túnel IPsec controlado pelo atacante, e a etapa de descriptografia sobrescreve as verificações de login do binário com bytes escolhidos pelo atacante. Da próxima vez que alguém executar su, ele entrega root. O arquivo em disco nunca muda — a modificação vive apenas na cópia em memória do kernel, então ferramentas de integridade de arquivos não detectam nada, o ataque não deixa trilha de auditoria e um reboot restaura o binário original.

Sistemas mais expostos

A exploração exige a capability CAP_NET_ADMIN para configurar o túnel IPsec de loopback. Em Debian e Fedora, namespaces de usuário não privilegiados vêm habilitados por padrão, então um usuário local consegue essa capability dentro de um novo namespace. Ubuntu 24.04 e posteriores restringem a criação de namespace via AppArmor, bloqueando o caminho de exploit padrão.

Como o page cache é compartilhado no nível do host, modificações feitas dentro de um namespace afetam todos os processos da máquina. Os sistemas expostos são servidores multilocatários, runners de CI, hosts de container e clusters Kubernetes onde usuários não confiáveis podem criar namespaces. A JFrog confirmou o exploit em Debian, Ubuntu e Fedora com configurações padrão. Esse padrão de falhas de kernel que concedem root é recorrente — uma falha de um único caractere no Linux Kernel já havia concedido acesso root em meses anteriores.

Família DirtyFrag e DirtyClone

DirtyClone é o quarto de uma série recente de escalações de privilégio com o mesmo modo de falha: memória apoiada em arquivo é tratada como dado de pacote, e uma operação de rede no local escreve onde deveria copiar. Cada correção fechou um caminho de código e deixou outros abertos.

Variante CVE Divulgação Subsistema
Copy Fail CVE-2026-31431 30 de abril de 2026 algif_aead
DirtyFrag CVE-2026-43284 / 43500 8 de maio de 2026 IPsec ESP + RxRPC
Fragnesia CVE-2026-46300 14 de maio de 2026 XFRM ESP-in-TCP
DirtyClone CVE-2026-43503 25 de junho de 2026 __pskb_copy_fclone

A correção combinada cobrindo os helpers restantes de transferência de fragmentos foi mesclada em 21 de maio (commit 48f6a5356a33), recebeu CVE em 23 de maio e entrou no Linux v7.1-rc5 em 24 de maio. Como destaca o The Hacker News, o problema subjacente é contratual: todo caminho que move fragmentos de skb deve preservar o bit shared-frag, sempre.

Como mitigar o risco

  • Instale a atualização do kernel da sua distribuição imediatamente. A correção está em v7.1-rc5 e foi portada para branches stable e LTS; Ubuntu, Debian e SUSE já publicaram avisos.
  • Restrinja namespaces não privilegiados: em Debian e Ubuntu, defina kernel.unprivileged_userns_clone=0 como medida temporária de contenção.
  • Controle o acesso ao IPsec: blackliste os módulos esp4, esp6 e rxrpc quando possível (quebra IPsec e AFS — apenas paliativo).
  • Monitore hosts multilocatários: em runners de CI e clusters Kubernetes, considere bloquear a criação de namespace por usuários não confiáveis.
  • Fique atento a novas variantes: a classe DirtyFrag provavelmente não acabou. Qualquer função que move descritores de fragmento sem propagar o flag shared-frag é um novo CVE em potencial.

Fontes