
Scripts d’atténuation par distribution pour CVE-2026-31431 (« Copy Fail »), LPE du noyau Linux.
Scripts d'atténuation par distribution pour CVE-2026-31431 (« Copy Fail ») — une élévation de privilèges locale du noyau Linux algif_aead qui affecte pratiquement toutes les distributions publiées depuis 2017.
Chaque script installe soit un noyau corrigé depuis les dépôts de votre distribution (lorsqu'il est disponible), soit, à défaut, met sur liste noire le module noyau vulnérable algif_aead afin de fermer la voie d'exploitation jusqu'à ce que vous puissiez redémarrer sur un noyau corrigé.
Choisissez le script correspondant à votre distribution, auditez-le, puis exécutez-le en tant que 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
# Tout autre système (Gentoo, NixOS, distributions immuables, ...)
sudo bash scripts/universal.sh
Utilisez --check d'abord si vous voulez un aperçu qui ne modifie rien.
Les scripts par distribution exécutent cet algorithme ; universal.sh ignore les étapes 4–5.
sudo si vous n'êtes pas déjà root.--force.uname -r.PATCHED_KERNEL_VERSION est enregistré pour votre distribution et que votre noyau en cours d'exécution est à cette version ou supérieur, le script supprime tout fichier d'atténuation restant et se termine.--yes pour ignorer) à l'installer. Après l'installation, vous redémarrez manuellement./etc/modprobe.d/cve-2026-31431.conf avec blacklist algif_aead et install algif_aead /bin/true, puis vérifie via une sonde de liaison de socket AF_ALG que la voie d'exploitation est fermée.PATCHED_KERNEL_VERSION = PENDING signifie que les mainteneurs n'ont pas encore enregistré de version de noyau corrigée pour cette distribution. Chaque ligne est mise à jour via une PR d'une ligne.
| Distribution | Paquet noyau | Version corrigée | Dernière vérification |
|---|---|---|---|
| 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 |
| Option | Signification |
|---|---|
-y, --yes | Non interactif ; ignore l'invite d'installation du noyau. |
--force | Contourne la vérification d'incompatibilité de distribution. |
--check | Aperçu en lecture seule ; affiche ce qui se passerait, ne modifie rien. |
--undo | Supprime /etc/modprobe.d/cve-2026-31431.conf. À utiliser après l'installation d'un noyau corrigé. |
-h, --help | Informations d'utilisation. |
Les scripts exécutent cette sonde automatiquement. Pour vérifier vous-même :
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
Un hôte atténué ou corrigé affiche OK: bind blocked, errno=2 ....
Après que votre distribution publie un noyau corrigé et que vous redémarrez dessus, supprimez la liste noire modprobe afin que les applications qui utilisent légitimement AF_ALG aead puissent fonctionner à nouveau :
sudo bash scripts/<votre-distribution>.sh --undo
Lorsque votre distribution publie un noyau corrigé :
scripts/<distribution>.sh — définissez PATCHED_KERNEL_VERSION sur la version corrigée du paquet (au format renvoyé par dpkg-query -W / rpm -q VERSION-RELEASE / pacman -Q).<distribution> : correctif publié dans <version>.Outil d'atténuation de sécurité. Auditez tout script trouvé sur Internet avant de le faire passer dans sudo bash. Les mainteneurs déclinent toute responsabilité sous la licence MIT.
MIT.