Copy Fail, la faille qui offre un accès root sur Linux depuis 2017 !

Copy Fail, la faille qui offre un accès root sur Linux depuis 2017 !


C’est une bombe à retardement qui vient d’être désamorcée. Découverte par le chercheur Taeyang Lee et exploitée par l’équipe de recherche de Theori/Xint.io, la faille « Copy Fail » (CVE-2026-31431) a jeté un froid dans la communauté de la cybersécurité.

Active depuis l’introduction d’une optimisation de performance dans le noyau 4.14 en 2017, elle touche un spectre incroyablement large de systèmes : Ubuntu, Red Hat, SUSE, Amazon Linux, et bien d’autres.

La cause est le résultat d’une collision malheureuse de trois changements de code indépendants, étalés sur plusieurs années. Elle permet à un utilisateur local sans privilèges d’obtenir les droits administrateur (root) avec un simple script Python de 732 octets. L’attaque manipule la mémoire cache du noyau (page cache) de manière indétectable par les outils de sécurité classiques.

Qu’est-ce que la faille Copy Fail et pourquoi est-elle si dangereuse ?

La faille Copy Fail est une vulnérabilité d’escalade de privilèges locale (LPE). Concrètement, elle permet à n’importe quel utilisateur sur une machine, même avec les droits les plus bas, de s’octroyer un accès root complet.

Sa dangerosité réside dans quatre caractéristiques rarement réunies : elle est portable, minuscule, furtive et traverse les conteneurs. Un seul et même script Python de 732 octets fonctionne sur une multitude de distributions et d’architectures différentes, sans aucune adaptation.


Le véritable tour de force de cette vulnérabilité est sa discrétion. L’attaque ne modifie pas le fichier sur le disque dur, mais sa copie volatile en mémoire, le « page cache ».

Les outils de surveillance d’intégrité, qui scannent les fichiers sur le disque, ne voient donc rien. L’attaquant exécute ensuite une version corrompue en mémoire d’un programme légitime comme /usr/bin/su, et obtient le contrôle total.

Comment fonctionne techniquement cet exploit ?

Au cœur du problème se trouve une erreur de logique dans le sous-système cryptographique du Kernel Linux, plus précisément dans le module algif_aead.

Une optimisation introduite en 2017 a fait en sorte que la mémoire servant de source pour une opération de déchiffrement soit aussi utilisée comme destination. C’est ce qu’on appelle une opération « en place ».

L’exploit tire parti de cette confusion pour écrire 4 octets de données contrôlées à un endroit précis du page cache d’un fichier système, comme un binaire « setuid ».

cybersecurite

Contrairement à des failles célèbres comme Dirty Pipe, Copy Fail n’est pas une « race condition » (une faille qui dépend d’un timing parfait entre plusieurs opérations).

C’est un bug de logique pur, ce qui le rend déterministe et fiable à 100 %. L’attaquant utilise une interface spécifique (AF_ALG) pour préparer le terrain, puis injecte les données malveillantes.

L’impact va au-delà d’une simple machine, car le page cache est partagé par tous les processus, y compris les conteneurs. Un attaquant dans un conteneur Kubernetes compromis peut ainsi s’échapper et prendre le contrôle du serveur hôte.

Quels systèmes sont affectés et comment se protéger ?

Pratiquement toutes les distributions Linux majeures utilisant un noyau postérieur à la version 4.14 (sortie en 2017) sont concernées. La liste inclut des versions récentes comme Ubuntu 24.04 LTS, Amazon Linux 2023, Red Hat Enterprise Linux 10.1 et SUSE 16.

Les administrateurs système doivent agir sans délai. La solution principale est d’appliquer la mise à jour du noyau fournie par le distributeur. Un correctif officiel (commit a664bf3d603d) a été publié. Il supprime l’optimisation de performance hasardeuse et force le système à travailler sur des copies sécurisées des données.

Pour les systèmes qui ne peuvent pas être mis à jour immédiatement, il existe une solution de contournement efficace. Il est recommandé de désactiver le module du noyau fautif pour bloquer la porte d’entrée de l’attaque.

Cela se fait avec une simple ligne de commande pour « blacklister » le module algif_aead. Cette manipulation n’a aucun impact notable sur la majorité des applications courantes.

L’ironie de l’histoire, c’est que cette faille a été découverte grâce à des outils d’audit de code assistés par IA. Cela pose une question pratique : combien de failles similaires dorment encore dans les fondations de nos infrastructures numériques, attendant d’être réveillées par des algorithmes ?



Source link

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.