L'expert en sécurité Max Kellermann a découvert une faille Linux, baptisée "Dirty Pipe" et suivie comme CVE-2022-0847, qui peut permettre aux utilisateurs locaux d'obtenir des privilèges root sur toutes les principales distributions.
La vulnérabilité affecte le noyau Linux 5.8 et les versions ultérieures.
La vulnérabilité CVE-2022-0847 permet d'écraser des données dans des fichiers en lecture seule arbitraires, ce qui pourrait entraîner une élévation des privilèges car des processus non privilégiés peuvent injecter du code dans des processus racine.
Kellerman a expliqué que la faille est similaire à CVE-2016-5195, alias "Dirty Cow", et est plus dangereuse car plus facile à exploiter.
Dans un article de blog, le chercheur a expliqué qu'il avait découvert la faille en enquêtant sur des fichiers journaux d'accès corrompus pour l'un de ses clients.
Kellerman a publié des détails techniques sur la faille Dirty Pipe ainsi qu'un exploit de preuve de concept (PoC) qui permet aux utilisateurs locaux d'écraser tout contenu de fichier dans le cache de la page, même si le fichier n'est pas autorisé à être écrit, immuable ou sur un montage en lecture seule.
BleepingComputer a rapporté un tweet publié par le chercheur en sécurité Phith0n qui expliquait qu'il est possible d'utiliser l'exploit pour modifier le fichier /etc/passwd
afin de définir l'utilisateur root
sans mot de passe. En utilisant cette astuce, un utilisateur non privilégié pourrait exécuter la commande su root
pour accéder au compte root
.
Le chercheur Phith0n a également publié une version mise à jour de l'exploit qui permet d'obtenir des privilèges root en écrasant un programme SUID
comme ./exp
/usr/bin/su
pour déposer un shell root
sur /tmp/sh
puis en exécutant le script.
Vous trouverez ci-dessous la chronologie de cette vulnérabilité :
- 29/04/2021 : premier ticket d'assistance concernant la corruption de fichiers
- 19/02/2002 : problème de corruption de fichier identifié comme bogue du noyau Linux, qui s'est avéré être une vulnérabilité exploitable
- 20/02/2022 : rapport de bogue, exploit et correctif envoyés à l'équipe de sécurité du noyau Linux
- 21/02/2022 : bug reproduit sur Google Pixel 6 ; rapport de bogue envoyé à l'équipe de sécurité Android
- 21/02/2022 : patch envoyé à LKML (sans détails de vulnérabilité) comme suggéré par Linus Torvalds, Willy Tarreau et Al Viro
- 23/02/2022 : versions stables de Linux avec mon correctif de bogue (5.16.11, 5.15.25, 5.10.102)
- 24/02/2022 : Google fusionne le correctif de bogue dans le noyau Android
- 28/02/2022 : a notifié la liste de diffusion linux-distros
- 07/03/2022 : divulgation publique
Les serveurs exécutant des versions de noyau obsolètes sont exposés à des attaques exploitant cette faille.