732 octets, c'est tout ce qu'il faut pour passer de simple utilisateur à root sur n'importe quel Linux non patché compilé depuis 2017, soit la quasi-totalité des kernels. Cette faille béante s'appelle Copy Fail (CVE-2026-31431), elle a été dénichée par Taeyang Lee de chez Theori avec leur outil d'audit IA Xint Code. Et comme elle vient d'être divulguée hier sur la liste oss-security et qu'en plus, ils ont fait un joli petit site qui explique tout comment ça fonctionne, je vais essayer de tout vous expliquer !
La faille elle-même est moche mais surtout, c'est un agent IA qui l'a sorti en une heure environ. C'est un bug que la communauté kernel a laissé passer durant près de 9 ans et qui se trouve dans le sous-système crypto.
En gros, le noyau Linux expose une interface réseau spéciale pour accéder aux opérations de chiffrement depuis un programme normal, sans droits particuliers.
Et depuis 2017, une optimisation dans ce mécanisme a créé une situation bizarre : un fichier en lecture seule sur le disque, disons un binaire système, peut se retrouver dans la zone de sortie d'une opération de chiffrement .C'est la zone que votre programme a le droit de modifier.
Il suffit alors d'enchaîner un appel système particulier (splice) pour écrire 4 octets au bon endroit, on répète ça en boucle, et on modifie progressivement un binaire système de votre choix comme par exemple /usr/bin/su.
Et voilà, vous êtes root !
Votre navigateur ne supporte pas la lecture de vidéos HTML5. Voici un <a href="/copy-fail-faille-kernel-linux-decouverte-ia/copy-fail-faille-kernel-linux-decouverte-ia-1.mp4">lien vers la vidéo</a>. Maintenant, si vous administrez un serveur, 2 options existent pour vous protéger. La première consiste à patcher le kernel via votre distro (c'est le plus propre) et la seconde c'est de bloquer le module fautif avec :
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif-aead.conf puis en lançant : rmmod algif_aead.
Attention quand même, ce fix ne fonctionne que si le module est optionnel. Si votre noyau l'a intégré en dur (c'est le cas dans la plupart des distros entreprise), faudra patcher directement ou bloquer le sous-système crypto via seccomp . Comme ça, y'a plus aucune surface d'attaque !
Le PoC est également trouvable. C'est un script Python capable de faire tomber Ubuntu 24.04 LTS, Amazon Linux 2023, RHEL 10.1 et SUSE 16 avec exactement le même code.
Les comparaisons avec Dirty COW et Dirty Pipe pleuvent, sauf que là où Dirty COW exigeait du timing précis et où Dirty Pipe demandait une manipulation spécifique du pipe-buffer, Copy Fail tape tout pareil sur 4 distribs majeures sans rien avoir à ajuster.
Et côté sévérité officielle, c'est du 7.8/10 donc c'est assez élevé !
Pour trouver cette faille, Xint Code, l'agent IA de Theori, n'a pas tâtonné à l'aveugle. Taeyang Lee lui a surtout glissé un prompt très précis qui lui demandait d'examiner tous les chemins accessibles depuis un programme utilisateur dans le sous-système crypto, en insistant sur le fait que splice() peut faire atterrir des fichiers en lecture seule dans des zones modifiables.
Une heure plus tard, Copy Fail sortait comme trouvaille critique ! Theori précise que le même scan a aussi remonté d'autres vulnérabilités encore sous embargo. Brrrrrr.... Tremblez simples mortel !
Ouais donc ouais, l'IA n'a pas remplacé l'expertise humaine, mais elle l'a démultipliée. Car Lee savait où regarder, et Xint Code a juste fait ce qu'il aurait fait mais en plus rapide ! C'est pas magique donc... Mais ça fait gagner du temps !
L'exploit est dispo ici sur le GitHub de Theori et côté impact, c'est costaud sur les hôtes multi-users et tout ce qui est environnements partagés. Je pense aux conteneurs Docker, aux clusters Kubernetes, aux pipelines CI/CD...etc.
Après si y'a que vous qui avez accès à votre serveur, c'est un peu moins critique car il faut forcément un accès local pour l'exploiter. C'est la même logique de chaînage que BlueHammer côté Windows , sauf qu'ici la marche jusqu'à root est encore plus petite.
Comment tester le PoC sur une machine de test ?
Si vous avez une VM ou un vieux laptop sous Linux non patché, voilà comment vérifier que ça marche (et que votre patch tient la route). Ne faites ça que sur une machine dont vous êtes propriétaire et où vous avez l'autorisation explicite.
Clonez d'abord le repo officiel de Theori :
git clone https://github.com/theori-io/copy-fail-CVE-2026-31431 cd copy-fail-CVE-2026-31431 Vérifiez le hash SHA256 du PoC avant de lancer quoi que ce soit (le hash attendu est affiché dans le README du repo) :
sha256sum copy_fail_exp.py Si ça correspond, lancez-le en tant qu'utilisateur normal (pas root) :
python3 copy_fail_exp.py Sur un système vulnérable, vous devriez alors vous retrouver avec un shell root en quelques secondes. Sur un système patché par contre, le script échouera proprement avec un message d'erreur. C'est aussi simple que ça.
Bref, mettez à jour vos kernels ou désactivez le module fautif rapidement !