
Scripts de mitigação por distribuição para o CVE-2026-31431 ("Copy Fail") LPE do kernel Linux.
Scripts de mitigação por distribuição para CVE-2026-31431 ("Copy Fail") — uma escalada de privilégios local do kernel Linux algif_aead que afeta praticamente todas as distribuições lançadas desde 2017.
Cada script instala um kernel corrigido dos repositórios da sua distribuição (quando disponível) ou, caso contrário, coloca na lista negra o módulo vulnerável algif_aead do kernel para que o caminho de exploração seja fechado até que você possa reiniciar com um kernel corrigido.
Escolha o script para a sua distribuição, audite-o e execute-o como root.
# Ubuntu
sudo bash scripts/ubuntu.sh
# Debian
sudo bash scripts/debian.sh
# RHEL / Rocky / AlmaLinux / CentOS Stream
sudo bash scripts/rhel.sh
# Fedora
sudo bash scripts/fedora.sh
# Arch
sudo bash scripts/arch.sh
# openSUSE Leap / Tumbleweed
sudo bash scripts/opensuse.sh
# Alpine
sudo bash scripts/alpine.sh
# Qualquer outra (Gentoo, NixOS, distribuições imutáveis, ...)
sudo bash scripts/universal.sh
Use --check primeiro se quiser uma prévia que não altera nada.
Os scripts por distribuição executam este algoritmo; universal.sh pula as etapas 4–5.
sudo se ainda não for root.--force seja usado.uname -r.PATCHED_KERNEL_VERSION estiver registrado para a sua distribuição e o kernel em execução for igual ou superior a ele, o script remove qualquer arquivo de mitigação restante e encerra.--yes para pular) o instale. Após a instalação, você reinicia manualmente./etc/modprobe.d/cve-2026-31431.conf com blacklist algif_aead e install algif_aead /bin/true e, em seguida, verifica por meio de uma sondagem de bind de socket AF_ALG que o caminho de exploração está fechado.PATCHED_KERNEL_VERSION = PENDING significa que os mantenedores ainda não registraram uma versão de kernel corrigida para essa distribuição. Cada linha é atualizada por meio de um PR de uma linha.
| Distribuição | Pacote do kernel | Versão corrigida | Última verificação |
|---|---|---|---|
| Ubuntu (24.04) | linux-image-generic | PENDING | 2026-05-01 |
| Debian | linux-image-amd64 | PENDING | 2026-05-01 |
| RHEL / Rocky / Alma | kernel | PENDING | 2026-05-01 |
| Fedora | kernel | PENDING | 2026-05-01 |
| Arch | linux | PENDING | 2026-05-01 |
| openSUSE | kernel-default | PENDING | 2026-05-01 |
| Alpine | linux-lts | PENDING | 2026-05-01 |
| Flag | Significado |
|---|---|
-y, --yes | Não interativo; pula o prompt de instalação do kernel. |
--force | Ignora a verificação de incompatibilidade de distribuição. |
--check | Prévia somente leitura; exibe o que aconteceria, sem alterar nada. |
--undo | Remove /etc/modprobe.d/cve-2026-31431.conf. Use após a instalação de um kernel corrigido. |
-h, --help | Informações de uso. |
Os scripts executam esta sondagem automaticamente. Para verificar você mesmo:
python3 - <<'PY'
import socket, errno
try:
s = socket.socket(socket.AF_ALG, socket.SOCK_SEQPACKET, 0)
s.bind(("aead", "authencesn(hmac(sha1),cbc(aes))"))
print("BAD: bind succeeded — host is NOT mitigated")
s.close()
except OSError as e:
print(f"OK: bind blocked, errno={e.errno} ({e.strerror})" if e.errno == errno.ENOENT
else f"INCONCLUSIVE: errno={e.errno}")
PY
Um host mitigado ou corrigido exibe OK: bind blocked, errno=2 ....
Depois que sua distribuição publicar um kernel corrigido e você reiniciar com ele, remova a lista negra do modprobe para que aplicativos que usam legitimamente AF_ALG aead possam funcionar novamente:
sudo bash scripts/<sua-distribuicao>.sh --undo
Quando sua distribuição publicar um kernel corrigido:
scripts/<distro>.sh — defina PATCHED_KERNEL_VERSION para a versão corrigida do pacote (no formato que dpkg-query -W / rpm -q VERSION-RELEASE / pacman -Q retorna).<distro>: fix shipped in <version>.Ferramenta de mitigação de segurança. Audite qualquer script que encontrar na internet antes de enviá-lo para sudo bash. Os mantenedores não aceitam nenhuma responsabilidade sob a licença MIT.
MIT.