Une vulnérabilité de haute gravité dans le noyau Linux, baptisée « Copy Fail », permet à n'importe quel utilisateur local d'obtenir les privilèges root complets avec un script Python de 732 octets, affectant presque toutes les distributions majeures, y compris Red Hat, Ubuntu et SUSE publiées depuis 2017. La faille, répertoriée sous le code CVE-2026-31431 avec un score CVSS de 7,8, impacte une vaste partie de l'infrastructure cloud, incluant des millions de clusters Kubernetes et d'environnements d'hébergement partagé.
« Il s'agit d'un bogue logique trivial à exploiter », a déclaré la société de cybersécurité Xint Code dans un message sur X, notant que le même petit script Python portable fonctionne sur toutes les plateformes testées sans modification. L'Agence américaine de cybersécurité et de sécurité des infrastructures (CISA) a ajouté la vulnérabilité à son catalogue des vulnérabilités exploitées connues le 1er mai, avertissant qu'elle pose des « risques significatifs pour les entreprises fédérales ».
La vulnérabilité provient d'une erreur logique introduite dans une optimisation du noyau en 2017. En enchaînant des appels système standard, un attaquant peut effectuer une écriture contrôlée de 4 octets dans le cache de page du noyau — une zone de la RAM où le système conserve des copies temporaires de fichiers pour un accès rapide. Cela permet de corrompre la version en mémoire d'un programme privilégié, tel que /usr/bin/su, sans modifier le fichier sur le disque, rendant l'intrusion invisible pour la plupart des outils de surveillance de l'intégrité des fichiers.
La fiabilité et la simplicité de l'exploit en font une menace critique pour les environnements multi-locataires. Les chercheurs de Microsoft Defender ont souligné son potentiel à faciliter les évasions de conteneurs et les mouvements latéraux, car un attaquant ayant pris pied dans un conteneur pourrait compromettre l'ensemble du nœud hôte. L'attaque nécessite un vecteur d'accès local initial, mais une fois celui-ci obtenu, l'escalade vers le root est déterministe.
### Comment un bogue de noyau vieux de 9 ans permet l'évasion de conteneurs
Le cœur de CVE-2026-31431 réside dans le sous-système cryptographique du noyau, plus précisément le module algif_aead. Un changement de 2017 conçu pour améliorer les performances en réutilisant la mémoire pour des opérations cryptographiques en place n'a pas tenu compte d'un chemin de gestion d'erreur spécifique. Les chercheurs de Theori, qui ont divulgué la faille en privé à l'équipe du noyau Linux le 23 mars, ont découvert que cet oubli pouvait être exploité pour écrire quatre octets de données arbitraires dans le cache de page de n'importe quel fichier lisible.
Comme les conteneurs sur un seul hôte partagent le même noyau, ils partagent également le même cache de page. Un processus non privilégié dans un conteneur peut donc utiliser l'exploit Copy Fail pour modifier la représentation en mémoire d'un binaire sensible utilisé par l'hôte ou d'autres conteneurs. Lorsque ce binaire est exécuté ultérieurement, il s'exécute avec les modifications de l'attaquant, accordant un accès root et brisant ainsi toutes les barrières d'isolation des conteneurs. Cela transforme toute compromission initiale d'un conteneur, par exemple via une application web vulnérable, en une compromission potentielle de tout le système.
### Des mesures d'atténuation disponibles alors que les correctifs sont déployés
L'équipe de sécurité du noyau Linux a soumis un correctif à la branche principale le 1er avril, annulant l'optimisation défectueuse de 2017. Bien que des noyaux entièrement corrigés soient en cours de déploiement, de nombreuses distributions utilisent des noyaux de support à long terme (LTS) plus anciens et doivent rétro-porter le correctif, un processus qui prend du temps. En réponse, les principaux distributeurs ont publié des mesures d'atténuation immédiates.
Pour Ubuntu et ses dérivés, une mise à jour du paquet kmod bloque le chargement du module algif_aead vulnérable. Les administrateurs peuvent appliquer ce correctif en exécutant sudo apt update && sudo apt upgrade et en redémarrant. Pour les systèmes où une mise à jour immédiate n'est pas possible, le module peut être désactivé manuellement en ajoutant la ligne install algif_aead /bin/false à un fichier dans /etc/modprobe.d/. Red Hat a noté que cette atténuation peut avoir un impact mineur sur les performances pour les tâches nécessitant des fonctionnalités cryptographiques du noyau, mais elle empêche totalement l'exploitation.
Cet article est fourni à titre informatif uniquement et ne constitue pas un conseil en investissement.