Dirty Pipe, l'une des vulnérabilités les plus graves depuis des années sous Linux

Récemment, la nouvelle a été publiée sur le net de la découverte de une nouvelle vulnérabilité sous Linux qui est répertorié comme "High Severity" qui affecte tous les noyaux depuis la version 5.8, ainsi que des dérivés, dont Android.

Connu sous le nom Dirty Pipe permet d'écraser les données dans des fichiers en lecture seule et peut entraîner une élévation des privilèges en injectant du code dans les processus "root".

Bien qu'il ait déjà été corrigé dans le noyau Linux principal, le bogue pourrait être transformé en arme sous la forme d'un exploit d'escalade de privilèges sur tous les appareils exécutant la version 5.8 ou ultérieure du noyau Linux.

Cela signifie également qu'un tas de smartphones Android nouvellement sortis, comme le Samsung Galaxy S22 et Google Pixel 6, sont également vulnérables, jusqu'à ce que chaque appareil reçoive le correctif de noyau approprié de l'OEM respectif.

À propos du tuyau sale

La vulnérabilité était révélé par le chercheur en sécurité Max Kellerman et catalogué comme (CVE-2022-0847), il a fallu quelques mois pour trouver un exploit de preuve de concept.

La vulnérabilité permet à un utilisateur non privilégié d'injecter et d'écraser des données dans des fichiers en lecture seule, y compris les processus SUID exécutés en tant que root. Le surnom familier semble être un jeu sur le fameux bug Sale vache et un mécanisme Linux appelé pipelining pour le passage de messages interprocessus, puisque ce dernier est utilisé pendant la routine d'exploit.

Tout a commencé il y a un an avec un ticket de support lié à des fichiers corrompus. Un client s'est plaint que les journaux d'accès téléchargés ne pouvaient pas être décompressés. Et en effet, il y avait un fichier journal corrompu sur l'un des serveurs de journalisation ; il pourrait être décompressé, mais gzip a signalé une erreur CRC. Je ne pouvais pas expliquer pourquoi il était corrompu, mais j'ai supposé que le processus de division nocturne s'était écrasé et avait produit un fichier corrompu. J'ai corrigé manuellement le CRC du fichier, fermé le ticket et vite oublié le problème.

Après des mois d'analyse, le chercheur a finalement découvert que les fichiers client corrompus étaient le résultat d'un bogue dans le noyau Linux. Il a trouvé un moyen d'exploiter Dirty Pipe pour permettre à toute personne disposant d'un compte, y compris les comptes "personne" moins privilégiés, d'ajouter une clé SSH au compte utilisateur root.

Pour déclencher la vulnérabilité, Kellerman a partagé sa preuve de concept, l'attaquant doit avoir des autorisations de lecture. De plus, le défilement ne doit pas être sur une limite de page, l'écriture ne peut pas traverser une limite de page et le fichier ne peut pas être redimensionné.

Pour exploiter cette vulnérabilité, vous devez : créer un tube, remplir le tube avec des données arbitraires (en définissant le drapeau PIPE_BUF_FLAG_CAN_MERGE sur toutes les entrées de l'anneau), vider le tube (en laissant le drapeau défini sur toutes les instances de la structure pipe_buffer dans la structure de l'anneau pipe_inode_info), fusionner les données du fichier cible (ouvert avec O_RDONLY) dans le tube juste avant le décalage cible, et écrire des données arbitraires dans le tube.

Dirty Pipe affecte également toute version d'Android basée sur l'une des versions vulnérables du noyau Linux. Parce qu'Android est si fragmenté, les modèles d'appareils concernés ne peuvent pas être suivis de manière uniforme.

Selon Kellerman, Google a fusionné son correctif de bogue avec le noyau Android le mois dernier, juste après sa correction avec la publication des versions 5.16.11, 5.15.25 et 5.10.102 du noyau Linux.

Cela dit, nous devrons probablement attendre un peu avant que les OEM ne commencent à déployer des mises à jour Android contenant le correctif. Le Pixel 6 de Google, par exemple, est toujours vulnérable, mais les utilisateurs avancés peuvent atténuer la faille en installant un noyau de rechange personnalisé corrigé comme option alternative.

Les développeurs du noyau Linux ont publié des correctifs (5.16.11, 5.15.25, 5.10.102) le 23 février, tandis que Google a corrigé le noyau Android le 24 février. Kellermann et d'autres experts ont comparé la vulnérabilité à CVE-2016-5195 "Vache sale" et ils ont dit que c'était encore plus facile à exploiter.

Enfin, si vous souhaitez en savoir plus, vous pouvez consulter les détails dans le lien suivant.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.