Dirty Pipe facilite l’élévation de privilèges sous Linux

Une importante vulnérabilité Linux baptisée « Dirty Pipe » pourrait permettre même aux utilisateurs disposant des privilèges les plus limités d’effectuer des actions malveillantes. Le chercheur Max Kellermann, d’Ionos, a révélé cette nouvelle vulnérabilité en début de semaine. Son nom rappelle celui de la vulnérabilité « Dirty Cow », découverte en 2016, qui permettait aux attaquants d’obtenir un accès root sur n’importe quel téléphone Android, quelle que soit sa version du système d’exploitation, mais […]

Écrit par
Julien Maury
Julien Maury
Mar 9, 2022
4 minute read
eSecurity Planet Le contenu et les recommandations de produits sont indépendants de la rédaction. Nous pouvons gagner de l'argent lorsque vous cliquez sur des liens vers nos partenaires. En savoir plus

Une importante vulnérabilité Linux baptisée « Dirty Pipe » pourrait permettre même aux utilisateurs disposant des privilèges les plus limités d’effectuer des actions malveillantes.

Le chercheur Max Kellermann, d’Ionos, a révélé cette nouvelle vulnérabilité en début de semaine. Son nom rappelle celui de la vulnérabilité « Dirty Cow », découverte en 2016, qui permettait aux attaquants d’obtenir un accès root sur n’importe quel téléphone Android, quelle que soit la version du système d’exploitation, mais Dirty Pipe pourrait être encore plus facile à exploiter que sa prédécesseure.

Kellermann est parvenu à exploiter le bug du noyau Linux, qui permet à n’importe quel utilisateur, y compris ceux disposant des privilèges les plus limités comme le compte « nobody », d’effectuer des actions malveillantes, par exemple ajouter une clé SSH au compte de l’utilisateur root afin d’accéder à distance au serveur avec tous les privilèges.

À lire aussi : Les meilleurs outils de gestion des vulnérabilités

Qu’est-ce que le compte nobody sous Linux ?

Les systèmes Unix disposent traditionnellement d’un utilisateur dédié appelé nobody pour certaines opérations avec le NFS (Network File System).

Ce pseudo-utilisateur est le compte disposant des privilèges les plus limités ; il n’a aucun mot de passe et ne possède littéralement aucun fichier. En effet, le PoLP (principe du moindre privilège), principe fondamental de la sécurité zero trust, veut qu’un utilisateur ne puisse accéder qu’aux informations et aux ressources dont il a besoin.

Une vulnérabilité qui permet aux comptes disposant des privilèges les plus limités d’obtenir des privilèges root constitue un échec majeur pour un système d’exploitation aussi important que Linux.

Fonctionnement de Dirty Pipe

Le rapport Common Vulnerabilities and Exposures (CVE) consacré à la vulnérabilité, CVE-2022-0847, explique comment les attaquants peuvent tirer parti du bug. Le terme « Pipe » fait référence à des mécanismes internes du noyau Linux appelés « pipelines ».

Advertisement

Kellermann a découvert une variable non initialisée dans le code du noyau, qui pourrait permettre à un attaquant d’écraser le contenu de n’importe quel fichier présent dans le cache. Bien sûr, certaines conditions doivent être réunies, mais l’attaquant n’a pas besoin de permissions d’écriture : un accès en lecture suffit. Le bug affecte également les binaires système et les fichiers btrfs.

En effet, le noyau dispose d’un accès permanent, en lecture comme en écriture, aux pages du cache. Le noyau s’exécute toujours avec les privilèges maximaux : aucune vérification n’est donc effectuée à ce niveau. Il s’agit du système dans son essence même, avec un accès au matériel.

Le noyau utilise des indicateurs et des pipelines pour transmettre des données entre les processus. Kellermann a créé une preuve de concept (illustrée ci-dessous) pour l’équipe de sécurité du noyau Linux : il a créé un pipeline et l’a rempli de données arbitraires, ce qui a activé l’indicateur PIPE_BUF_FLAG_CAN_MERGE et a finalement permis d’écraser la page du fichier mise en cache.

Il a toutefois constaté certaines limites : l’écriture ne pouvait pas franchir une limite de page. Il était néanmoins possible de modifier des fichiers sans permissions d’écriture, et ces modifications pouvaient affecter tous les utilisateurs du système.

Dirty Pipe n’a pas besoin des privilèges d’un processus légitime pour écrire des données dans des fichiers, et aucune contrainte de temps ne s’applique.

kellermann poc

Voir aussi : Les 10 meilleurs outils open source de test d’intrusion

Ce que les attaquants peuvent faire avec Dirty Pipe

Parce qu’il est plus facile à exploiter que Dirty Cow et qu’il permet d’élever les privilèges au niveau root, Dirty Pipe est une faille critique. Les pirates pourraient probablement l’utiliser pour effectuer d’autres opérations, comme modifier des bibliothèques courantes et exécuter du code arbitraire.

L’écrasement peut être temporaire ou permanent, et l’attaquant peut modifier les binaires d’un système qui sont censés être immuables. Toute application malveillante pourrait accroître considérablement ses capacités sans le consentement de l’utilisateur.

Cette vulnérabilité est idéale pour les mouvements latéraux, l’exécution de code arbitraire et la propagation de virus.

Une compromission d’aussi bas niveau est particulièrement intéressante pour les attaques zero-click. Près d’un an s’est écoulé entre le premier ticket d’assistance concernant une « simple » corruption de fichier et la divulgation publique finale :

Advertisement

dirty pipe timeline

Comment détecter et corriger la vulnérabilité Dirty Pipe

Ce bug critique a été corrigé sous Linux. La bonne nouvelle est que le bug a été introduit dans Linux 5.8, une version relativement récente au moment de la rédaction de cet article ; il est donc à espérer que moins de serveurs de production seront concernés.

Les utilisateurs de la version 5.8 doivent effectuer la mise à jour rapidement, et ceux qui utilisent une version plus récente doivent au moins disposer d’une version ultérieure5.16.11.

Google a corrigé Android fin février avec le nouveau code du noyau, mais les appareils Android, y compris les derniers Pixel (le bug a été démontré sur un Google Pixel 6) et les appareils Samsung (comme le Galaxy 2022), sont concernés. Comme l’écosystème Android est très fragmenté et comprend divers systèmes alternatifs fondés sur le même noyau Linux, de nombreux appareils pourraient être vulnérables.

Les utilisateurs d’Android sont vivement encouragés à vérifier la version de leur système d’exploitation dans Paramètres > À propos du téléphone > Version d’Android.

À lire ensuite : Les meilleurs logiciels de gestion des correctifs

Julien Maury

eSecurity Planet contributor Julien Maury writes about penetration testing, code security, open source security and more. He is a backend developer, a mentor and a technical writer who enjoys sharing his knowledge and learning new concepts.

eSecurity Planet Logo

eSecurity Planet is a leading resource for IT professionals at large enterprises who are actively researching cybersecurity vendors and latest trends. eSecurity Planet focuses on providing instruction for how to approach common security challenges, as well as informational deep-dives about advanced cybersecurity topics.

Propriété de TechnologyAdvice. © 2026 TechnologyAdvice. Tous droits réservés

Divulgation publicitaire : Certains des produits qui apparaissent sur ce site proviennent d'entreprises dont TechnologyAdvice reçoit une compensation. Cette compensation peut influencer la façon dont les produits apparaissent sur ce site, notamment l'ordre dans lequel ils apparaissent. TechnologyAdvice n'inclut pas toutes les entreprises ou tous les types de produits disponibles sur le marché.