Passer au contenu principal Passer à la recherche Passer à la navigation principale
Menu
Important Cybersécurité Score : 8/10

Faille du noyau Linux : une Race Condition permet de lire des fichiers protégés

Une faille dans la gestion mémoire du noyau Linux permet aux utilisateurs locaux de lire des fichiers protégés comme les clés SSH ou /etc/shadow. Un correctif est déjà disponible.

Que s'est-il passé ?

Un chercheur en sécurité sous le pseudonyme _SiCK a publié sur Github plusieurs exploits de démonstration (proof-of-concept) exploitant une faille dans la gestion mémoire et des processus du noyau Linux. Cette faille permet à des utilisateurs locaux sans privilèges particuliers de lire, sous certaines conditions, des fichiers normalement accessibles uniquement à l'utilisateur root. Il s'agit déjà de la quatrième faille de sécurité en quelques jours permettant aux utilisateurs Linux d'élever leurs privilèges.

L'exemple de preuve de concept aux conséquences les plus graves porte le nom de ssh-keysign-pwn. Il permet de lire la clé privée SSH de la machine – un fichier normalement accessible uniquement à l'utilisateur root. Un autre exemple exploite le programme « chage » pour lire, pendant son exécution, le fichier des mots de passe /etc/shadow.

Les détails

La cause de la vulnérabilité se situe au cœur du noyau : la fonction ptrace_may_access() échoue de manière trop permissive (dite « fail open ») pour les processus en cours de terminaison. Si un attaquant parvient à gagner une Race Condition, c'est-à-dire une course entre plusieurs processus s'exécutant simultanément, il peut accéder, malgré l'absence de droits, à des fichiers que le processus mourant avait précédemment ouverts. Sont ainsi potentiellement concernés tous les fichiers ouverts par des programmes disposant des droits root (setuid root), comme /etc/shadow ou /etc/ssh/ssh_host_key.

La faille a été découverte par l'entreprise de sécurité Qualys. Le mainteneur de Linux, Linus Torvalds, l'a corrigée jeudi en fin d'après-midi. Peu après, Brad Spengler, fondateur de grsecurity, a attiré l'attention sur cette faille dans une brève analyse publiée sur le réseau social X, ce qui a suscité l'ambition de _SiCK de développer ses propres exploits. Aucun identifiant CVE officiel n'a pour l'instant été attribué à cette vulnérabilité.

Fait notable, cette faille avait déjà été remarquée il y a plusieurs années par l'expert en sécurité de Google, Jann Horn. Il avait alors déjà proposé une correction – qui n'avait cependant pas été mise en œuvre. Le noyau Linux 7.0.8 contient désormais exclusivement le correctif pour la faille exploitée par ssh-keysign-pwn. Le mainteneur du noyau Greg Kroah-Hartman a commenté la situation sur le Fediverse avec une remarque autodérisoire à propos d'un « gros bouton » sur son bureau servant à déclencher de nouvelles versions du noyau.

Mise en perspective

Cette faille est pertinente pour le secteur de la technique de sécurité pour plusieurs raisons. Les systèmes de contrôle d'accès, de vidéosurveillance et de gestion d'alarmes fonctionnent souvent sur des serveurs basés sur Linux ou des dispositifs embarqués. Si des utilisateurs locaux – par exemple via des comptes de service compromis ou des accès insuffisamment sécurisés – peuvent lire des fichiers protégés par root comme des clés SSH ou des fichiers de mots de passe, cela ouvre la voie à des attaques plus poussées contre l'ensemble de l'infrastructure.

Le fait que cette vulnérabilité ne soit pas nouvelle est particulièrement critique : elle était déjà connue il y a plusieurs années, mais n'avait pas été corrigée. Cela illustre à quel point une gestion continue des correctifs reste essentielle, même pour des systèmes considérés comme stables et matures. Étant donné que la faille est en principe envisageable pour tout fichier exécutable disposant des droits root (setuid root), la surface d'attaque est potentiellement très large et ne se limite pas aux exemples de preuve de concept déjà publiés.

Conseils pratiques

  • Les administrateurs système peuvent, à titre provisoire, remédier à tous les cas connus de cette faille de sécurité avec la commande « echo 3 > /proc/sys/kernel/yama/ptrace_scope ».
  • Le correctif officiel est déjà intégré au noyau Linux 7.0.8 – les systèmes concernés devraient être mis à jour rapidement dès que la distribution correspondante propose un paquet de noyau adapté.
  • En attendant la disponibilité de paquets de distribution corrigés, la solution de contournement mentionnée devrait être mise en œuvre en priorité, notamment sur les serveurs contenant des données d'accès sensibles (clés SSH, fichiers de mots de passe) et sur les systèmes critiques pour la sécurité comme les serveurs de contrôle d'accès ou de vidéosurveillance.
  • Il est généralement recommandé de vérifier quels comptes utilisateurs locaux ont réellement accès aux systèmes concernés, afin de réduire de manière générale la surface d'attaque pour les exploits de type Race Condition.

Perspectives

Étant donné que les grandes comme les petites distributions Linux doivent désormais intégrer et diffuser ce correctif dans de nouveaux paquets de noyau, il faut s'attendre, comme l'expérience le montre, à un certain délai avant que tous les systèmes en production soient sécurisés. Pendant cette phase de transition, la solution de contournement décrite via le paramètre Yama ptrace reste la mesure immédiate la plus importante pour les administrateurs.

Compte tenu du fait qu'il s'agit déjà de la quatrième faille de sécurité comparable en quelques jours, on peut supposer que les chercheurs en sécurité et les développeurs du noyau continueront à se pencher intensivement sur la gestion mémoire et des processus du noyau Linux. Pour les exploitants d'infrastructures critiques pour la sécurité – des systèmes d'alarme aux solutions de contrôle d'accès en passant par les systèmes de vidéosurveillance – cet incident souligne la nécessité de mettre en place des processus de gestion des correctifs rigoureusement cadencés et d'appliquer rapidement même les mises à jour du noyau apparemment mineures.