
CVE-2026-31431 - Guia de Remediação e Medidas de Proteção
Este repositório documenta a vulnerabilidade CVE-2026-31431, apelidada de Copy Fail, e propõe um procedimento de remediação defensiva para sistemas Linux potencialmente expostos.
⚠️ Este repositório é estritamente orientado à defesa, auditoria autorizada, endurecimento e remediação.
Ele não fornece procedimento de exploração e não deve ser usado para comprometer sistemas de terceiros.
CVE-2026-31431 / Copy Fail é uma vulnerabilidade de elevação local de privilégios no kernel Linux.
Ela afeta o subsistema criptográfico do kernel, mais precisamente a interface de usuário AF_ALG e o módulo algif_aead. A falha está relacionada a uma otimização introduzida em 2017 no caminho AEAD do kernel Linux. Sob certas condições, um usuário local não privilegiado pode causar uma escrita controlada no de um arquivo legível, incluindo um binário setuid, o que pode levar à elevação de privilégios para .
rootA vulnerabilidade é considerada Alta com uma pontuação CVSS v3.1 de 7.8.
| Elemento | Detalhe |
|---|---|
| CVE | CVE-2026-31431 |
| Nome público | Copy Fail |
| Tipo | Local Privilege Escalation, LPE |
| Componente | Linux kernel crypto subsystem |
| Módulo afetado | algif_aead |
| Interface | AF_ALG |
| Mecanismo envolvido | AEAD, authencesn, splice(), page cache |
| Pontuação CVSS v3.1 | 7.8 Alta |
| Privilégios necessários | Conta local não privilegiada |
| Interação do usuário | Nenhuma |
| Impacto | Confidencialidade, integridade e disponibilidade altas |
As fontes públicas indicam que distribuições Linux que utilizam um kernel derivado de uma ramificação vulnerável desde a otimização de 2017 podem estar expostas.
Exemplos de plataformas mencionadas nas publicações públicas:
| Distribuição | Exemplo de versão de kernel testada publicamente |
|---|---|
| Ubuntu 24.04 LTS | 6.17.0-1007-aws |
| Amazon Linux 2023 | 6.18.8-9.213.amzn2023 |
| RHEL 10.1 | 6.12.0-124.45.1.el10_1 |
| SUSE 16 | 6.12.0-160000.9-default |
| Debian | Dependendo da versão do kernel e do status de segurança |
| AlmaLinux / Rocky Linux / Oracle Linux | Dependendo da versão do kernel e dos backports do fornecedor |
O status exato depende da versão do kernel, do fornecedor, dos backports de segurança e dos patches já aplicados.
Esta vulnerabilidade é particularmente perigosa em ambientes onde usuários ou workloads não confiáveis têm acesso a um shell local ou a um ambiente de execução compartilhado.
Ambientes a priorizar:
Risco principal:
root;uname -a
uname -r
lsmod | grep algif_aead || true
sudo lsof -nP | grep AF_ALG || true
dpkg -l | grep -E '^ii\\s+linux-image|^ii\\s+linux-modules'
rpm -qa | grep -E '^kernel|^kernel-core'
rpm -qa | grep -E '^kernel'
Opção prioritária: aplicar o patch de kernel do fornecedor A remediação correta consiste em instalar um kernel corrigido fornecido pela distribuição e, em seguida, reiniciar com esse kernel.
sudo apt update
sudo apt full-upgrade -y
sudo reboot
sudo dnf update -y kernel kernel-core kernel-modules
sudo reboot
sudo zypper refresh
sudo zypper patch
sudo reboot
# Após reiniciar:
uname -r
Se nenhum kernel corrigido ainda estiver disponível ou se uma reinicialização imediata for impossível, aplicar uma mitigação temporária.
echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-algif-aead.conf
sudo modprobe -r algif_aead 2>/dev/null || true
sudo rmmod algif_aead 2>/dev/null || true
sudo update-initramfs -u
sudo dracut -f
sudo mkinitrd
sudo reboot
sudo modprobe algif_aead
echo $?
Em alguns kernels, o módulo pode ser compilado diretamente no kernel e não pode ser carregado/descarregado como módulo.
grep CONFIG_CRYPTO_USER_API_AEAD /boot/config-$(uname -r)
CONFIG_CRYPTO_USER_API_AEAD=m
O componente é um módulo. A mitigação via /etc/modprobe.d/ é aplicável.
CONFIG_CRYPTO_USER_API_AEAD=y
O componente está integrado ao kernel. A mitigação via modprobe.d não é suficiente.
Nesse caso, usar preferencialmente:
Algumas fontes mencionam a seguinte opção de kernel como possível contorno:
initcall_blacklist=algif_aead_init
Testar obrigatoriamente fora de produção antes da generalização. Essa opção pode variar conforme o kernel, a distribuição e a configuração de inicialização.
Para Docker, Podman, Kubernetes e CI/CD, é necessário reduzir a possibilidade de workloads não confiáveis abrirem sockets AF_ALG.
sudo lsof -nP | grep AF_ALG || true
lsmod | grep algif_aead || true
find / -perm -4000 -type f 2>/dev/null
sudo ausearch -f /usr/bin/su 2>/dev/null || true
sudo auditctl -w /usr/bin/su -p x -k su_exec_monitoring
sudo ausearch -k su_exec_monitoring
last -a
lastlog
getent passwd
sudo find /etc/cron* -type f -ls 2>/dev/null
sudo find /root /home -name authorized_keys -type f -ls 2>/dev/null
sudo journalctl --since "48 hours ago"
#!/usr/bin/env bash
set -euo pipefail
echo "[+] CVE-2026-31431 - mitigação temporária algif_aead"
if [[ $EUID -ne 0 ]]; then
echo "[-] Este script deve ser executado como root."
exit 1
fi
echo "[+] Versão do kernel ativa: $(uname -r)"
echo "[+] Desativação persistente do carregamento de algif_aead"
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif-aead.conf
echo "[+] Tentativa de descarregamento do módulo"
modprobe -r algif_aead 2>/dev/null || true
rmmod algif_aead 2>/dev/null || true
if command -v update-initramfs >/dev/null 2>&1; then
echo "[+] Atualização do initramfs Debian/Ubuntu"
update-initramfs -u
elif command -v dracut >/dev/null 2>&1; then
echo "[+] Atualização do initramfs via dracut"
dracut -f
elif command -v mkinitrd >/dev/null 2>&1; then
echo "[+] Atualização do initramfs via mkinitrd"
mkinitrd
else
echo "[!] Nenhuma ferramenta initramfs conhecida detectada. Verifique manualmente."
fi
echo "[+] Verificação"
lsmod | grep algif_aead && echo "[!] Módulo ainda carregado" || echo "[OK] Módulo não carregado"
echo "[+] Reinicialização recomendada."
Ela não substitui:
a instalação de um kernel corrigido;
a reinicialização com o kernel corrigido;
a validação do status do fornecedor;
a análise pós-incidente se uma comprometimento for suspeito.
Ela também pode afetar alguns softwares explicitamente configurados para usar a interface criptográfica AF_ALG.
Theori / Xint Code — Copy Fail Technical Write-up https://xint.io/blog/copy-fail-linux-distributions Repositório GitHub Theori PoC https://github.com/theori-io/copy-fail-CVE-2026-31431 NVD — CVE-2026-31431 https://nvd.nist.gov/vuln/detail/CVE-2026-31431 CERT-EU — Security Advisory 2026-005 https://cert.europa.eu/publications/security-advisories/2026-005/ Ubuntu Security — CVE-2026-31431 https://ubuntu.com/security/CVE-2026-31431 Debian Security Tracker — CVE-2026-31431 https://security-tracker.debian.org/tracker/CVE-2026-31431 SUSE CVE Tracker — CVE-2026-31431 https://www.suse.com/security/cve/CVE-2026-31431.html Tenable FAQ — Copy Fail https://www.tenable.com/blog/copy-fail-cve-2026-31431-frequently-asked-questions-about-linux-kernel-privilege-escalation
Este repositório é fornecido exclusivamente para fins:
Qualquer uso ofensivo não autorizado é ilegal e contrário ao objetivo deste repositório.