
Détecte l’exposition à CVE-2026-31431 (Copy Fail) et atténue éventuellement le risque en désactivant le module noyau vulnérable algif_aead, fournissant des verdicts et l’état du correctif.
Détecte l'exposition à CVE-2026-31431 (Copy Fail) et applique éventuellement une atténuation au niveau de l'hôte en désactivant le module noyau algif_aead sur les systèmes vulnérables.
copyfail-check.sh — vérifie l'état du correctif du noyau, l'exposition au moment de l'exécution et l'état de l'atténuation.--mitigate.NOT AFFECTED, PATCHED, NOT EXPLOITABLE, MITIGATED, MITIGATED (REBOOT PENDING) ou AFFECTED.| Propriété | Valeur |
|---|---|
| ID CVE | CVE-2026-31431 |
| Sévérité | HAUTE (CVSS 3.1 : 7.8) |
| Composant | algif_aead — interface crypto AEAD AF_ALG du noyau |
| Type d'attaque | Élévation de privilèges locale ; évasion de conteneur (pas encore de PoC public) |
| Noyaux affectés | 4.14 et ultérieurs (voir ci-dessous) |
| Divulgué | 2026-04-29 |
Une optimisation AEAD en place de 2017 (commit 72548b093ee3, noyau 4.14) permet à un attaquant local non privilégié d'obtenir une primitive d'écriture de cache de pages contrôlée contre tout fichier lisible, permettant une élévation de privilèges vers root. Dans les environnements de conteneurs, la même primitive peut faciliter l'évasion de conteneur.
Les noyaux antérieurs à 4.14 ne sont PAS affectés. Cela inclut le noyau 3.13 d'Ubuntu (Trusty 14.04 GA) et le noyau 4.4 (Xenial 16.04 GA, Trusty HWE) — ceux-ci sont antérieurs au commit vulnérable.
| Rôle | Commit |
|---|---|
| Vulnérabilité introduite | 72548b093ee3 (noyau 4.14, 2017) |
| Correctif — mainline / noyau 7.0 | a664bf3d603d |
| Correctif — stable 6.18.x | fafe0fa2995a |
| Correctif — stable 6.19.x | ce42ee423e58 |
Les distributions rétroportent les correctifs avec leurs propres identifiants de commit. Le script recherche l'ID CVE dans les journaux de modifications des paquets, ce qui est plus fiable que les hachages en amont pour les noyaux rétroportés.
| Version | noyau linux | atténuation kmod (version corrigée) |
|---|---|---|
| Trusty 14.04 | noyaux 4.15 uniquement ; 3.13 et 4.4 NON affectés | 15-0ubuntu7+esm1 |
| Xenial 16.04 | noyaux 4.15 uniquement ; 4.4 NON affecté | 22-1ubuntu5.2+esm1 |
| Bionic 18.04 | Affecté | 24-1ubuntu3.5+esm1 |
| Focal 20.04 | Affecté | 27-1ubuntu2.1+esm1 |
| Jammy 22.04 | Affecté | 29-1ubuntu1.1 |
| Noble 24.04 | Affecté | 31+20240202-2ubuntu7.2 |
| Questing 25.10 | Affecté | 34.2-2ubuntu1.1 |
| Resolute 26.04 | Non affecté | Aucune mise à jour nécessaire |
L'équipe de sécurité Ubuntu distribue une mise à jour du paquet kmod qui écrit install algif_aead /bin/false dans /etc/modprobe.d/disable-algif_aead.conf. Ce script crée le même fichier avec le même contenu et est entièrement compatible avec cette approche. L'application de la mise à jour officielle du paquet (sudo apt install --only-upgrade kmod) est la voie recommandée sur Ubuntu ; ce script fournit une couverture équivalente pour les systèmes non-Ubuntu ou pour un triage avant mise à jour.
chmod +x copyfail-check.sh
sudo ./copyfail-check.sh # détection uniquement
sudo ./copyfail-check.sh --mitigate # détection + application de l'atténuation si affecté
Diffusez le script directement depuis main et exécutez-le. La forme bash -s -- transmet les arguments après -- au script lui-même, donc --mitigate atteint le script et non bash.
# Détection uniquement
curl -fsSL https://raw.githubusercontent.com/Webhosting4U/Copy-Fail_Detect_and_mitigate_CVE-2026-31431/main/copyfail-check.sh | sudo bash
# Détection + atténuation
curl -fsSL https://raw.githubusercontent.com/Webhosting4U/Copy-Fail_Detect_and_mitigate_CVE-2026-31431/main/copyfail-check.sh | sudo bash -s -- --mitigate
Équivalents 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
Note de sécurité. Envoyer un script distant directement dans un shell privilégié fait confiance à ce que l'URL sert au moment de l'exécution. Pour un triage ponctuel, c'est acceptable ; pour une utilisation répétée ou en production, épinglez un commit spécifique et inspectez le script d'abord :
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/, plus kpatch list et canonical-livepatch statusubuntu-security-status --cves, dnf updateinfo list cves, zypper patch-checkalgif_aead (modinfo) et état de chargement (lsmod)/etc/modprobe.d/ — accepte les neutralisateurs équivalents (install … /bin/false|/bin/true|/sbin/nologin) et blacklist ; identifie si le blocage provient du paquet kmod Ubuntu/proc/modules (colonne 3) ; signale également une référence au moteur OpenSSL afalg dans /etc/ssl ou /etc/pki/tls| Verdict | Signification |
|---|---|
NOT AFFECTED | Le noyau est antérieur à 4.14, ou est corrigé et le module indisponible |
PATCHED | Le journal de modifications/les outils du noyau confirment la présence du correctif |
NOT EXPLOITABLE | Module non disponible sur ce système |
MITIGATED | Module bloqué via modprobe.d ; le noyau est toujours non corrigé — mettre à jour si possible |
MITIGATED (REBOOT PENDING) | Blocage écrit mais module toujours chargé ; décharger avec rmmod ou redémarrer |
AFFECTED | Le noyau est dans la plage vulnérable et algif_aead est disponible |
Lorsque --mitigate est utilisé sur un système affecté, le script :
/etc/modprobe.d/disable-algif_aead.conf contenant install algif_aead /bin/falsealgif_aead s'il est actuellement chargéLe nom de fichier /etc/modprobe.d/disable-algif_aead.conf correspond au fichier écrit par la mise à jour officielle du paquet Ubuntu kmod, donc les deux approches sont interchangeables et compatibles.
algif_aead est sûre pour les chemins crypto courants : dm-crypt, LUKS, kTLS, IPsec, l'utilisation par défaut d'OpenSSL/GnuTLS, SSH et la crypto du trousseau du noyau ne sont pas affectés.afalg perdront l'accélération matérielle ; elles devraient revenir à la crypto logicielle, mais un redémarrage peut être nécessaire pour déclencher le repli.| Date | Événement |
|---|---|
| 2026-03-23 | Signalé à l'équipe de sécurité du noyau Linux |
| 2026-04-01 | Correctif validé dans mainline |
| 2026-04-29 | Divulgation publique |
sudo ou shell root)uname, modinfo, lsmod, awk, grepdpkg — analyse du journal de modifications Debian/Ubuntu et vérification de la version kmodlsb_release — détection de la version Ubuntu pour l'indice kmodrpm — analyse du journal de modifications RHEL/Fedorakpatch / canonical-livepatch et /sys/kernel/livepatch/ — détection de live-patchubuntu-security-status, dnf updateinfo, zypper patch-check — outils CVE de la distribution.
├── copyfail-check.sh
└── README.md