La troisième faille majeure du noyau Linux en deux semaines découverte grâce à l’IA
Une nouvelle faille majeure du noyau Linux a été découverte, et cela grâce à l’IA. Fragnesia est la dernière en date. Voici ce que nous savons à son sujet.
Points clés
Une nouvelle vulnérabilité du noyau Linux a été identifiée.
Fragnesia peut donner des pouvoirs root à des utilisateurs non autorisés.
D’autres failles de sécurité dans les logiciels open-source sont à prévoir.
Selon la loi de Linus, « Avec suffisamment d’yeux, tous les bugs sont superficiels », ce principe est fondamental pour l’open-source. Malheureusement, grâce à des outils de détection de bugs alimentés par l’IA, tels que Claude Mythos et OpenAI Daybreak, la plupart de ces « yeux » sont en réalité des moteurs d’IA, qui s’avèrent beaucoup plus rapides pour détecter des problèmes de sécurité que les humains.
Détails sur la vulnérabilité Fragnesia
Fragnesia est la troisième faille sérieuse de root local survenue au cours des deux dernières semaines. Ce bug de corruption du cache de page permet aux utilisateurs non privilégiés d’accéder à un contrôle total sur les systèmes affectés. Selon AlmaLinux, Fragnesia donne immédiatement accès à root sur toutes les principales distributions Linux. En d’autres termes, toutes les distributions Linux peuvent être ciblées et compromises avec succès.
Le bug a été divulgué cette semaine par la société de sécurité IA Zellic, avec William Bowling et d’autres chercheurs utilisant l’outil d’audit logiciel de l’entreprise, V12. Il exploite un bug logique dans le sous-système ESP-in-TCP de Linux pour écrire des octets arbitraires dans le cache de page du noyau de fichiers en lecture seule, sans nécessiter de condition de concurrence. Cela ouvre la porte à une élévation de privilèges locale et à des potentielles évasions de conteneurs dans des environnements multi-locataires.
Contrairement aux exploits classiques basés sur des conditions de concurrence, ces vulnérabilités permettent aux attaquants de corrompre précisément des pages de fichiers sans astuces de synchronisation, rendant les attaques plus fiables et plus faciles à armer une fois que le code de preuve de concept est disponible.
Preuve de concept existante
Il existe déjà un exploit de preuve de concept. Il construit une table de recherche de 256 entrées qui associe tous les octets de flux possibles à leurs nonces correspondants. L’attaque copie ensuite une charge utile malveillante, qui écrase les 192 premiers octets de la commande de changement d’utilisateur dans le cache de page avec un petit ELF stub qui appelle setresuid et exécute un shell. En d’autres termes, pour ceux qui ne sont pas experts en Linux, cela plongera immédiatement l’attaquant dans un shell root. C’est une très mauvaise nouvelle, car cela signifie qu’un utilisateur local pourrait obtenir des privilèges de superutilisateur (root). Red Hat lui attribue un score de 7.8 sur le système de notation des vulnérabilités communes (CVSS), ce qui en fait un bug de sécurité de haut niveau.
Impact sur les architectures modernes
Bien que Fragnesia soit techniquement un bug d’élévation de privilèges local, son impact s’accroît considérablement dans les architectures cloud modernes qui exécutent un grand nombre de conteneurs non fiables sur des noyaux Linux partagés. Si un attaquant peut exécuter du code dans un conteneur ou un compte utilisateur restreint tout en créant des espaces de noms et des piles réseau, il pourrait accéder à un contrôle total sur l’hôte et, à partir de là, attaquer d’autres machines virtuelles (VM) ou conteneurs.
Comment atténuer Fragnesia
Les développeurs de noyau et les mainteneurs de distributions travaillent actuellement à renforcer le chemin de code ESP-in-TCP, avec des correctifs proposés visant à éliminer les transformations en place sur les pages de fichiers partagées et à resserrer la gestion des fragments. Un correctif en amont pour corriger Fragnesia est disponible, mais il n’est pas encore intégré dans aucune distribution à partir du 13 mai.
En attendant, vous pouvez atténuer le problème en exécutant la commande suivante en tant que root :
# rmmod esp4 esp6 rxrpc
# printf ‘install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n’ > /etc/modprobe.d/fragnesia.conf
Cependant, cela désactivera également IPsec, ce qui signifie que vos réseaux privés virtuels (VPN) Linux ne fonctionneront pas.
Alternativement, selon Red Hat, vous pouvez exécuter la commande suivante en tant que root :
# echo « user.max_user_namespaces=0 » > /etc/sysctl.d/dirtyfrag.conf
sysctl –system
Cependant, cela désactivera les espaces de noms d’utilisateur non privilégiés, ce qui pourrait également affecter les conteneurs sans root, les navigateurs en bac à sable et Flatpak.
Attendre un correctif de votre distribution
Il pourrait être préférable d’attendre que votre distribution délivre un correctif. La plupart des grandes distributions sont déjà en phase de test bêta du correctif, et il ne serait pas surprenant que des noyaux Linux corrigés soient disponibles d’ici le 14 mai. À cette date, vous devriez mettre à jour vos systèmes dès que possible.
Pourquoi cela se produit-il ?
Je détaillerai davantage ce sujet plus tard, mais pour l’instant, il suffit de dire que Chris Wright, CTO de Red Hat, et moi avons discuté de cette question plus tôt dans la journée, et cela revient à nos détecteurs de défauts alimentés par l’IA qui sont désormais beaucoup plus efficaces pour trouver de véritables bugs qu’ils ne l’étaient il y a quelques semaines.
Cela signifie que :
Nous pouvons nous attendre à voir beaucoup plus de failles de sécurité découvertes dans les mois à venir.
Nous allons devoir nous améliorer rapidement pour corriger les bugs au fur et à mesure de leur apparition.
Ce problème ne concerne pas seulement Linux. C’est préoccupant pour tous les logiciels open-source, et à mesure que l’IA s’améliore dans le débogage du code binaire, les développeurs de logiciels propriétaires, comme ceux de Windows, devront également améliorer leurs compétences en matière de réparation.