
Detecta a exposição ao CVE-2026-31431 (Copy Fail) e, opcionalmente, mitiga ao desativar o módulo de kernel vulnerável algif_aead, fornecendo veredictos e status de correção.
Detecte a exposição ao CVE-2026-31431 (Copy Fail) e, opcionalmente, aplique uma mitigação no nível do host desabilitando o módulo do kernel algif_aead em sistemas vulneráveis.
copyfail-check.sh — verifica o status do patch do kernel, a exposição do módulo em tempo de execução e o estado da mitigação.--mitigate.NOT AFFECTED, PATCHED, NOT EXPLOITABLE, MITIGATED, MITIGATED (REBOOT PENDING) ou AFFECTED.| Propriedade | Valor |
|---|---|
| ID do CVE | CVE-2026-31431 |
| Severidade | ALTA (CVSS 3.1: 7.8) |
| Componente | algif_aead — interface criptográfica AF_ALG AEAD do kernel |
| Tipo de ataque | Escalação local de privilégios; escape de contêiner (sem PoC público ainda) |
| Kernels afetados | 4.14 e posteriores (veja abaixo) |
| Divulgado | 2026-04-29 |
Uma otimização AEAD in-place de 2017 (commit 72548b093ee3, kernel 4.14) permite que um atacante local sem privilégios obtenha uma primitiva de escrita controlada no cache de páginas contra qualquer arquivo legível, possibilitando escalação de privilégios para root. Em ambientes de contêiner, a mesma primitiva pode facilitar o escape do contêiner.
Kernels anteriores ao 4.14 NÃO são afetados. Isso inclui o kernel 3.13 do Ubuntu (Trusty 14.04 GA) e o kernel 4.4 (Xenial 16.04 GA, Trusty HWE) — ambos anteriores ao commit vulnerável.
| Papel | Commit |
|---|---|
| Vulnerabilidade introduzida | 72548b093ee3 (kernel 4.14, 2017) |
| Correção — mainline / kernel 7.0 | a664bf3d603d |
| Correção — estável 6.18.x | fafe0fa2995a |
| Correção — estável 6.19.x | ce42ee423e58 |
As distribuições fazem backport dos patches com seus próprios identificadores de commit. O script procura o ID do CVE nos changelogs dos pacotes, o que é mais confiável do que os hashes upstream para kernels com backport.
| Release | kernel linux | mitigação kmod (versão corrigida) |
|---|---|---|
| Trusty 14.04 | apenas kernels 4.15; 3.13 e 4.4 NÃO afetados | 15-0ubuntu7+esm1 |
| Xenial 16.04 | apenas kernels 4.15; 4.4 NÃO afetado | 22-1ubuntu5.2+esm1 |
| Bionic 18.04 | Afetado | 24-1ubuntu3.5+esm1 |
| Focal 20.04 | Afetado | 27-1ubuntu2.1+esm1 |
| Jammy 22.04 | Afetado | 29-1ubuntu1.1 |
| Noble 24.04 | Afetado | 31+20240202-2ubuntu7.2 |
| Questing 25.10 | Afetado | 34.2-2ubuntu1.1 |
| Resolute 26.04 | Não afetado | Nenhuma atualização necessária |
A Equipe de Segurança do Ubuntu distribui uma atualização do pacote kmod que grava install algif_aead /bin/false em /etc/modprobe.d/disable-algif_aead.conf. Este script cria o mesmo arquivo com o mesmo conteúdo e é totalmente compatível com essa abordagem. Aplicar a atualização oficial do pacote (sudo apt install --only-upgrade kmod) é o caminho recomendado no Ubuntu; este script fornece cobertura equivalente para sistemas não-Ubuntu ou triagem pré-atualização.
chmod +x copyfail-check.sh
sudo ./copyfail-check.sh # apenas detecção
sudo ./copyfail-check.sh --mitigate # detecção + aplicação da mitigação se afetado
Transmita o script diretamente de main e execute-o. A forma bash -s -- encaminha os argumentos após -- para o próprio script, então --mitigate chega ao script e não ao bash.
# Apenas detecção
curl -fsSL https://raw.githubusercontent.com/Webhosting4U/Copy-Fail_Detect_and_mitigate_CVE-2026-31431/main/copyfail-check.sh | sudo bash
# Detecção + mitigação
curl -fsSL https://raw.githubusercontent.com/Webhosting4U/Copy-Fail_Detect_and_mitigate_CVE-2026-31431/main/copyfail-check.sh | sudo bash -s -- --mitigate
Equivalentes com wget:
wget -qO- https://raw.githubusercontent.com/Webhosting4U/Copy-Fail_Detect_and_mitigate_CVE-2026-31431/main/copyfail-check.sh | sudo bash
wget -qO- https://raw.githubusercontent.com/Webhosting4U/Copy-Fail_Detect_and_mitigate_CVE-2026-31431/main/copyfail-check.sh | sudo bash -s -- --mitigate
Nota de segurança. Enviar um script remoto diretamente para um shell privilegiado confia no que a URL serve no momento da execução. Para uma triagem pontual, isso é aceitável; para uso repetido ou em produção, fixe um commit específico e inspecione o script primeiro:
curl -fsSL https://raw.githubusercontent.com/Webhosting4U/Copy-Fail_Detect_and_mitigate_CVE-2026-31431/<commit-sha>/copyfail-check.sh -o copyfail-check.sh less copyfail-check.sh sudo bash copyfail-check.sh --mitigate
NOT AFFECTED/sys/kernel/livepatch/, além de kpatch list e canonical-livepatch statusubuntu-security-status --cves, dnf updateinfo list cves, zypper patch-checkalgif_aead (modinfo) e estado de carregamento (lsmod)/etc/modprobe.d/ — aceita neutralizadores equivalentes (install … /bin/false|/bin/true|/sbin/nologin) e blacklist; identifica se o bloqueio veio do pacote kmod do Ubuntu/proc/modules (coluna 3); também sinaliza uma referência ao engine afalg do OpenSSL em /etc/ssl ou /etc/pki/tls| Verdicto | Significado |
|---|---|
NOT AFFECTED | Kernel anterior ao 4.14, ou corrigido e módulo indisponível |
PATCHED | Changelog/ferramentas do kernel confirmam que a correção está presente |
NOT EXPLOITABLE | Módulo não disponível neste sistema |
MITIGATED | Módulo bloqueado via modprobe.d; kernel ainda sem patch — atualize quando possível |
MITIGATED (REBOOT PENDING) | Bloqueio gravado, mas módulo ainda carregado; descarregue com rmmod ou reinicie |
AFFECTED | Kernel na faixa vulnerável e algif_aead disponível |
Quando --mitigate é usado em um sistema afetado, o script:
/etc/modprobe.d/disable-algif_aead.conf contendo install algif_aead /bin/falsealgif_aead se estiver carregadoO nome do arquivo /etc/modprobe.d/disable-algif_aead.conf corresponde ao arquivo gravado pela atualização oficial do pacote kmod do Ubuntu, portanto ambas as abordagens são intercambiáveis e compatíveis.
algif_aead é seguro para caminhos criptográficos comuns: dm-crypt, LUKS, kTLS, IPsec, uso padrão de OpenSSL/GnuTLS, SSH e criptografia do keyring do kernel não são afetados.afalg do OpenSSL perderão aceleração de hardware; elas devem recorrer à criptografia por software, mas uma reinicialização pode ser necessária para acionar o fallback.| Data | Evento |
|---|---|
| 2026-03-23 | Reportado à equipe de segurança do kernel Linux |
| 2026-04-01 | Correção commitada no mainline |
| 2026-04-29 | Divulgação pública |
sudo ou shell root)uname, modinfo, lsmod, awk, grepdpkg — varredura de changelog Debian/Ubuntu e verificação da versão do kmodlsb_release — detecção do release Ubuntu para a dica do kmodrpm — varredura de changelog RHEL/Fedorakpatch / canonical-livepatch e /sys/kernel/livepatch/ — detecção de live-patchubuntu-security-status, dnf updateinfo, zypper patch-check — ferramentas de CVE da distribuição.
├── copyfail-check.sh
└── README.md