Um pesquisador descobriu uma falha no kernel do Linux que existe há oito anos e permite que qualquer usuário sem privilégios ganhe acesso de root com um script de 732 bytes em Python. Sem race condition, sem offset específico por distribuição — o mesmo exploit funciona em Ubuntu, Red Hat, Amazon Linux, Debian e SUSE, e atravessa contêineres do Kubernetes. A vulnerabilidade CVE-2026-31431, apelidada de Copy Fail, foi divulgada publicamente em 29 de abril de 2026 e já adicionada ao catálogo de vulnerabilidades exploradas da CISA (KEV).

Pontos-chave: a falha reside no módulo algif_aead do subsistema criptográfico do kernel; o PoC precisa apenas de uma conta local sem privilégios; o ataque não altera arquivos em disco — ele modifica o page cache em memória, o que passa despercebido por ferramentas de integridade; e contêineres podem ser usados como trampolim para comprometer o nó hospedeiro inteiro.

Um bug de 2017, root garantido

O que é o Copy Fail

Copy Fail é uma falha lógica no kernel do Linux, mais especificamente no módulo algif_aead, que faz parte da interface AF_ALG — a API de criptografia exposta ao espaço do usuário. O problema foi introduzido em 2017 por uma otimização in-place que fez o kernel usar incorretamente o buffer de destino como scratch pad durante operações de criptografia AEAD (Authenticated Encryption with Associated Data).

O resultado: um atacante não privilegiado pode escrever quatro bytes controlados no page cache de qualquer arquivo legível — incluindo binários setuid como /usr/bin/su. Como o page cache é a versão em memória dos executáveis, modificar esse cache altera o comportamento do binário durante a execução sem tocar no disco. É como trocar a chave da fechadura enquanto a porta ainda está aberta — sem deixar rastro no cadeado físico.

A falha foi encontrada pela Xint Code em cerca de uma hora de análise automatizada do subsistema crypto do kernel, segundo a Palo Alto Unit 42. O commit que introduziu o bug remonta a 2017; o patch que corrige é o a664bf3d603d, que reverte a operação in-place do módulo algif_aead.

Como o ataque funciona

A cadeia de exploração é direta e não depende de condições de corrida, o que a torna 100% confiável em qualquer execução:

  1. O atacante abre um socket AF_ALG para o algoritmo authencesn;
  2. Usa splice() para transferir páginas do page cache de um binário setuid para dentro do subsistema criptográfico;
  3. O bug de in-place faz o kernel escrever quatro bytes controlados além da região legítima, diretamente no page cache do binário de destino;
  4. O atacante executa o binário modificado (como su), que agora segue um fluxo alterado e concede root;
  5. O shell de root é real — embora a mudança não persista após reboot.

O PoC completo tem 732 bytes e usa apenas a biblioteca padrão do Python (os, socket, zlib). Não é preciso compilar nada, ajustar offsets ou esperar uma janela de timing. Funciona de forma determinística em todas as distribuições testadas, conforme detalhado no site oficial da divulgação.

Quem está afetado

Qualquer kernel Linux compilado entre 2017 e a aplicação do patch está vulnerável. A tabela abaixo resume as distribuições verificadas diretamente:

Distribuição Versão do Kernel Status do Patch
Ubuntu 24.04 LTS 6.17.0-1007-aws Patch disponível via kernel atualizado
Amazon Linux 2023 6.18.8-9.213.amzn2023 Patch em rollout
RHEL 10.1 6.12.0-124.45.1.el10_1 Patch em rollout
SUSE 16 6.12.0-160000.9-default Patch em rollout

Debian, Arch, Fedora, Rocky, AlmaLinux e Oracle Linux são igualmente afetados. Segundo a Canonical, todas as versões do Ubuntu anteriores ao Resolute (26.04) estão na zona de impacto — incluindo versões LTS com suporte estendido como 14.04, 16.04, 18.04, 20.04, 22.04 e 24.04. Não é a primeira vez que falhas no kernel Linux oferecem escalação de privilégios determinística — lembre o DirtyClone e o Pedit COW, que seguiram padrões parecidos de exploração.

Kubernetes: o pesadelo dos contêineres

O Copy Fail tem uma consequência particularmente grave em ambientes de contêineres. Como o kernel e seu page cache são compartilhados entre todos os pods de um nó, um atacante dentro de um único contêiner pode explorar a falha para comprometer o nó hospedeiro inteiro — e com ele, todos os outros tenants.

A Wiz detalhou um cenário onde um pod não privilegiado que compartilha uma imagem base com um contêiner privilegiado no mesmo nó pode sobrescrever binários na camada base e assim escapar do contêiner para o host. CI runners, Jenkins agents e ambientes serverless que executam código não confiável como usuário comum enfrentam o mesmo risco — um pull request malicioso vira root no runner.

A Microsoft classificou como de alto impacto ambientes multi-tenant, clusters Kubernetes, farms de CI/CD e plataformas SaaS que executam código de usuários.

Como se proteger

A correção definitiva é atualizar o kernel do sistema operacional para uma versão que inclua o commit a664bf3d603d. No Ubuntu, execute:

  1. sudo apt update && sudo apt upgrade para instalar o kernel corrigido;
  2. sudo reboot para carregar o novo kernel;
  3. Verifique com uname -r se a versão corresponde à tabela de correções da sua distribuição.

Se não for possível atualizar o kernel imediatamente, desabilite o módulo vulnerável:

  1. Crie o arquivo: echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-algif.conf
  2. Descarregue o módulo: sudo rmmod algif_aead

Para a maioria dos sistemas, a desativação do algif_aead não causa impacto mensurável. LUKS, kTLS, IPsec, SSH e a maioria das bibliotecas criptográficas em userspace (OpenSSL, GnuTLS) não usam AF_ALG — elas operam diretamente na API crypto do kernel ou em software puro. Pode afetar apenas aplicações que usam explicitamente o engine afalg do OpenSSL ou que abrem sockets AEAD diretamente.

Em ambientes com workloads não confiáveis (contêineres, sandboxes, CI), bloqueie a criação de sockets AF_ALG via políticas seccomp, independentemente do estado do patch. A Wiz recomenda monitorar o carregamento do módulo AF_ALG após o boot — sua carga após 300+ segundos do boot é um sinal suspeito digno de investigação.

Referências