CVE-2026-31431 « Copy Fail » (CVSS 7.8) : 732 octets de Python suffisent pour passer root sur toute distribution Linux livrée depuis 2017. KEV CISA depuis le 1er mai 2026.
En bref
- CVE-2026-31431 « Copy Fail » : élévation de privilèges locale fiable et déterministe vers root sur la quasi-totalité des distributions Linux livrées depuis 2017.
- Module noyau algif_aead vulnérable (interface socket AEAD de l'API crypto AF_ALG) — script Python de 732 octets suffit, CVSS 7.8, ajoutée au catalogue CISA KEV le 1er mai 2026.
- Mettre à jour le noyau Linux vers 6.18.22, 6.19.12 ou 7.0 ; à défaut, désactiver le module algif_aead via modprobe.
Les faits
CVE-2026-31431, baptisée « Copy Fail » par ses découvreurs, est une vulnérabilité d'élévation de privilèges locale (LPE) dans le noyau Linux dévoilée fin avril 2026 puis intégrée au catalogue Known Exploited Vulnerabilities (KEV) de la CISA le 1er mai 2026. La faille porte un score CVSSv3.1 de 7.8 et un vecteur AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H — exploitation locale, sans interaction utilisateur, avec impact total sur la confidentialité, l'intégrité et la disponibilité. La CISA a fixé une date limite de remédiation au 15 mai 2026 pour les agences fédérales civiles américaines, signe de la criticité réelle de la faille malgré un score CVSS « seulement élevé ».
Le bug réside dans le module algif_aead, l'interface socket AEAD (Authenticated Encryption with Associated Data) exposée aux applications utilisateur via l'adresse AF_ALG de l'API crypto du noyau. Le mécanisme historique permettait initialement aux applications utilisateurs de déléguer au noyau les opérations de chiffrement authentifié. Selon les chercheurs de Xint qui ont publié l'analyse complète, la racine du problème combine trois ingrédients introduits sur plusieurs années : l'ajout du template cryptographique authencesn en 2011 (utilisé par IPsec), l'introduction du support socket AEAD via AF_ALG en 2015, et l'ajout d'une optimisation in-place dans algif_aead.c en 2017.
Concrètement, l'algorithme authencesn(hmac(sha256),cbc(aes)) écrit quatre octets à l'offset assoclen + cryptlen comme espace de travail pour la réorganisation de l'Extended Sequence Number. À cause du défaut de validation, le scatterlist de sortie peut s'étendre dans les pages chaînées du page cache du noyau, de sorte que cette écriture de quatre octets atterrit directement dans les données mises en cache d'un fichier en mémoire — court-circuitant les permissions du fichier. Le page cache, rappelons-le, contient les copies en mémoire des fichiers exécutables et libraries du système.
L'exploitation revient donc à une primitive d'écriture contrôlée de 4 octets dans n'importe quelle page du cache lisible par l'utilisateur. En remplaçant des octets dans la version mise en cache d'un binaire setuid lisible (ld.so, su, sudo, mount, etc.), l'attaquant injecte du code qui sera exécuté avec les privilèges du fichier dès qu'un processus privilégié exécute la version corrompue. D'après l'analyse de Sysdig, le scénario d'attaque ne nécessite ni race condition, ni timing fenêtre, ni redémarrage : c'est une exploitation déterministe en ligne droite (straight-line logic flaw).
L'exploit publié par les chercheurs tient en 732 octets de Python utilisant uniquement les modules standards os, socket et zlib, et requiert Python 3.10 ou plus récent pour la fonction os.splice. Un utilisateur local non privilégié peut donc passer root en quelques secondes, sans dépendance externe, sans bibliothèque exotique, sur la quasi-totalité des distributions Linux livrées depuis 2017 — Debian, Ubuntu, RHEL, AlmaLinux, Rocky Linux, Fedora, openSUSE, Arch, Alpine, et leurs dérivés cloud.
Selon l'avis CERT-EU 2026-005 et l'analyse Help Net Security, la vulnérabilité est restée latente près de neuf ans dans le code du noyau Linux avant d'être identifiée. Les premières exploitations in-the-wild ont motivé l'inscription au catalogue KEV de la CISA dès le 1er mai 2026, et d'après NVD/NIST, des correctifs ont été intégrés dans les branches maintenues du noyau dès la fin avril : Linux 6.18.22, 6.19.12 et la branche 7.0 contiennent désormais le patch upstream qui corrige le calcul de longueur dans le scatterlist de sortie.
Sur les distributions, les correctifs ont été livrés de manière échelonnée. Red Hat a publié des paquets noyau pour RHEL 8 et 9, Canonical pour Ubuntu 22.04 et 24.04, SUSE pour SLES 15, Debian pour bookworm et trixie. CloudLinux indique de son côté avoir livré une mise à jour KernelCare diffusée en live patching pour ses clients hébergeurs, évitant le redémarrage. Les utilisateurs de noyaux Long Term Support sont encouragés à vérifier explicitement la présence du correctif via la commande uname -r et un changelog distribution.
Côté détection, la faille ne laisse pas de signature réseau, mais l'usage exotique de l'API AF_ALG via authencesn(hmac(sha256),cbc(aes)) depuis un binaire utilisateur non privilégié constitue un indicateur fort. L'audit Linux (auditd) peut être configuré pour journaliser les syscalls socket avec famille AF_ALG, et eBPF/Falco/Sysdig disposent désormais de règles de détection publiques publiées par les vendors EDR à partir du 2 mai 2026.
Impact et exposition
L'exposition est massive : tout serveur Linux multi-utilisateur, toute machine d'analyse partagée, tout conteneur partagé, toute jump box, tout poste de travail Linux livré entre 2017 et fin avril 2026 contient un noyau vulnérable par défaut, sauf si algif_aead a été explicitement désactivé — ce qui n'est presque jamais le cas. Les environnements d'hébergement mutualisé (cPanel, Plesk, hébergeurs cloud avec accès SSH partagé), les CI/CD runners exposant un shell aux développeurs, et les bastions Kubernetes (kubectl exec dans un pod non-root) sont en première ligne.
L'exploitation requiert un accès local utilisateur non privilégié — donc pas exploitable directement depuis Internet. Mais sur tout système où un attaquant a déjà obtenu un shell faible (compromission web vers www-data, fuite SSH, accès développeur compromis, conteneur compromis avec syscalls AF_ALG autorisés), Copy Fail offre une remontée vers root quasi garantie. Les conteneurs Docker et Kubernetes sont concernés si l'AppArmor/seccomp profile par défaut autorise socket(AF_ALG, ...) — c'est encore largement le cas sans profil seccomp restrictif explicite.
Les chercheurs de Penligent et Sysdig confirment l'exploitation in-the-wild depuis fin avril 2026, principalement dans des chaînes d'attaque post-compromission de serveurs web exposés. Les opérateurs de ransomware s'en servent comme primitive de pivot interne pour passer d'un compte de service web (www-data, nginx) à root puis à l'évasion du conteneur ou à la latéralisation vers l'hôte. D'après Help Net Security, plusieurs incidents observés sur des fermes Kubernetes managées tournant des images Linux non patchées ont déjà été liés à Copy Fail.
La surface d'attaque comprend également les appliances et matériel embarqué basé sur des noyaux Linux LTS rarement mis à jour : routeurs, NAS, équipements IoT industriels, télévisions connectées, infotainment automobile. Pour ces équipements, les correctifs dépendent du calendrier des constructeurs et peuvent ne jamais arriver. Sur des box télécom et routeurs grand public, la désactivation manuelle d'algif_aead via le firmware n'est généralement pas possible — la sortie de vie effective du parc est l'unique mitigation.
Recommandations immédiates
- Mettre à jour le noyau Linux vers 6.18.22, 6.19.12 ou 7.0 (ou version distribution équivalente livrant le patch upstream) — vérifier explicitement le changelog du paquet kernel/linux-image.
- À défaut de patch immédiat, désactiver le module algif_aead de manière persistante : créer /etc/modprobe.d/disable-algif.conf contenant « install algif_aead /bin/false », puis exécuter « rmmod algif_aead 2>/dev/null || true » pour décharger la version en cours.
- Sur les conteneurs et Kubernetes, appliquer un profil seccomp restrictif bloquant socket(AF_ALG, ...) — le profil Docker default-with-blocked-af_alg est disponible dans la documentation runc/containerd.
- Activer l'audit auditd pour journaliser les appels socket avec famille AF_ALG : « auditctl -a always,exit -F arch=b64 -S socket -k af_alg_use ».
- Déployer une règle Falco/EDR détectant l'usage de authencesn depuis un binaire utilisateur non root (règles publiées par Sysdig le 2 mai 2026).
- Sur hébergement mutualisé, prioriser le live patching (KernelCare, kpatch, kgraft) pour éviter le redémarrage en production.
- Auditer rétroactivement les journaux des deux dernières semaines pour rechercher des élévations root inattendues, des modifications de binaires setuid (rkhunter, chkrootkit, AIDE/Tripwire), et des connexions depuis comptes de service vers ssh root.
⚠️ Urgence
Copy Fail est inscrite au catalogue CISA KEV depuis le 1er mai 2026 avec exploitation in-the-wild confirmée. Le PoC public en 732 octets de Python rend l'exploitation triviale pour tout attaquant ayant déjà obtenu un shell utilisateur non privilégié. Patcher dans les 72 heures sur tout serveur Linux multi-utilisateur, mutualisé ou exposant un shell développeur.
Comment savoir si je suis vulnérable ?
Vérifier la version du noyau via « uname -r » et la comparer aux versions correctives 6.18.22 / 6.19.12 / 7.0 (ou consulter le changelog du paquet de votre distribution : « rpm -q --changelog kernel | grep CVE-2026-31431 » sur RHEL/CentOS, « dpkg -l linux-image-$(uname -r) » puis « apt changelog linux-image-$(uname -r) | grep -i copy-fail » sur Debian/Ubuntu). Tester ensuite si le module algif_aead est chargé avec « lsmod | grep algif_aead » — s'il l'est sur un noyau non patché, le système est exploitable.
Votre infrastructure est-elle exposée ?
Ayi NEDJIMI réalise des audits ciblés pour identifier et corriger vos vulnérabilités.
Demander un auditÀ propos de l'auteur
Ayi NEDJIMI
Auditeur Senior Cybersécurité & Consultant IA
Expert Judiciaire — Cour d'Appel de Paris
Habilitation Confidentiel Défense
ayi@ayinedjimi-consultants.fr
Ayi NEDJIMI est un vétéran de la cybersécurité avec plus de 25 ans d'expérience sur des missions critiques. Ancien développeur Microsoft à Redmond sur le module GINA (Windows NT4) et co-auteur de la version française du guide de sécurité Windows NT4 pour la NSA.
À la tête d'Ayi NEDJIMI Consultants, il réalise des audits Lead Auditor ISO 42001 et ISO 27001, des pentests d'infrastructures critiques, du forensics et des missions de conformité NIS2 / AI Act.
Conférencier international (Europe & US), il a formé plus de 10 000 professionnels.
Domaines d'expertise
Ressources & Outils de l'auteur
Testez vos connaissances
Mini-quiz de certification lié à cet article — propulsé par CertifExpress
Articles connexes
CVE-2026-44277 : RCE non-auth FortiAuthenticator (9.1)
CVE-2026-44277 (CVSS 9.1) : RCE non authentifiée dans Fortinet FortiAuthenticator par contournement d'autorisation API. Versions 6.5.6, 6.6.8 et 8.0.2 vulnérables, patch 6.5.7/6.6.9/8.0.3 urgent.
CVE-2026-20182 : auth bypass Cisco SD-WAN exploité (10.0)
CVE-2026-20182 (CVSS 10.0) : contournement d'authentification dans Cisco Catalyst SD-WAN Controller/Manager via vdaemon DTLS UDP/12346. Exploitation in-the-wild UAT-8616, KEV CISA 14 mai 2026.
CVE-2026-32202 : zero-click NTLM Windows exploité par APT28
Coercition NTLM zero-click via fichier .LNK piégé dans Windows Shell, exploitée par APT28. Patch initial incomplet, ajouté au CISA KEV le 28 avril 2026.
Commentaires
Aucun commentaire pour le moment. Soyez le premier à commenter !
Laisser un commentaire