Linux présente encore une autre vulnérabilité très grave qui permet aux utilisateurs non fiables d’exécuter facilement du code capable d’effectuer une multitude d’actions malveillantes, notamment l’installation de portes dérobées, la création de comptes d’utilisateurs non autorisés et la modification de scripts ou de fichiers binaires utilisés par des services ou des applications privilégiés.
Dirty Pipe, comme la vulnérabilité a été nommée, est l’une des menaces Linux les plus graves à être divulguées depuis 2016, l’année où une autre faille Linux très grave et facile à exploiter (appelée Dirty Cow) a été révélée lors de son utilisation. pirater le serveur d’un chercheur. En 2016, des chercheurs ont démontré comment exploiter Dirty Cow pour rooter n’importe quel téléphone Android, quelle que soit la version du système d’exploitation mobile. Onze mois plus tard, les chercheurs ont découvert 1 200 applications Android sur des marchés tiers qui ont exploité la faille de manière malveillante pour faire exactement cela.
Quand personne ne devient tout puissant
Le nom Dirty Pipe est destiné à la fois à signaler des similitudes avec Dirty Cow et à fournir des indices sur les origines de la nouvelle vulnérabilité. “Pipe” fait référence à un pipeline, un mécanisme Linux permettant à un processus du système d’exploitation d’envoyer des données à un autre processus. Essentiellement, un pipeline est constitué de deux processus ou plus qui sont enchaînés afin que le texte de sortie d’un processus (stdout) soit transmis directement en entrée (stdin) au suivant.
Suivie sous le nom de CVE-2022-0847, la vulnérabilité a été révélée lorsqu’un chercheur du constructeur de sites Web CM4all dépannait une série de fichiers corrompus qui apparaissaient sans cesse sur la machine Linux d’un client. Après des mois d’analyse, le chercheur a finalement découvert que les fichiers corrompus du client étaient le résultat d’un bogue dans le noyau Linux.
Le chercheur – Max Kellermann de la société mère de CM4all Ionos – a finalement compris comment militariser la vulnérabilité pour permettre à toute personne disposant d’un compte – y compris les comptes “personne” les moins privilégiés – d’ajouter une clé SSH au compte de l’utilisateur root. Avec cela, l’utilisateur non approuvé pourrait accéder à distance au serveur avec une fenêtre SSH qui dispose de tous les privilèges root.
Agrandir / Commentaires inclus avec le PoC de Kellermann.
D’autres chercheurs ont rapidement montré que la création non autorisée d’une clé SSH n’était qu’une des nombreuses actions malveillantes qu’un attaquant peut entreprendre lorsqu’il exploite la vulnérabilité. Ce programme, par exemple, détourne un binaire SUID pour créer un shell root, tandis que celui-ci permet aux utilisateurs non fiables d’écraser des données dans des fichiers en lecture seule :
Publicité
D’autres actions malveillantes activées par Dirty Pipe incluent la création d’une tâche cron qui s’exécute comme une porte dérobée, l’ajout d’un nouveau compte d’utilisateur à /etc/passwd + /etc/shadow (donnant au nouveau compte les privilèges root) ou la modification d’un script ou d’un binaire utilisé par un service privilégié.
“C’est à peu près aussi grave que possible pour une vulnérabilité du noyau local”, a écrit Brad Spengler, président d’Open Source Security, dans un e-mail. “Tout comme Dirty Cow, il n’y a pratiquement aucun moyen de l’atténuer, et cela implique les fonctionnalités de base du noyau Linux.”
La vulnérabilité est apparue pour la première fois dans la version 5.8 du noyau Linux, qui a été publiée en août 2020. La vulnérabilité a persisté jusqu’au mois dernier, lorsqu’elle a été corrigée avec la publication des versions 5.16.11, 5.15.25 et 5.10.102. Pratiquement toutes les distributions de Linux sont concernées.
Lancer une clé dans Android
Dirty Pipe afflige également toute version d’Android basée sur l’une des versions vulnérables du noyau Linux. Étant donné qu’Android est si fragmenté, les modèles d’appareils concernés ne peuvent pas être suivis de manière uniforme. La dernière version d’Android pour le Pixel 6 et le Samsung Galaxy S22, par exemple, exécute 5.10.43, ce qui signifie qu’ils sont vulnérables. Un Pixel 4 sur Android 12, quant à lui, exécute 4.14, qui n’est pas affecté. Les utilisateurs d’Android peuvent vérifier la version du noyau utilisée par leur appareil en accédant à Paramètres > À propos du téléphone > Version d’Android.
“La vulnérabilité Dirty Pipe est extrêmement grave dans la mesure où elle permet à un attaquant d’écraser – temporairement ou définitivement – des fichiers sur le système qu’ils ne devraient pas pouvoir modifier”, a écrit Christoph Hebeisen, responsable de la recherche sur la sécurité chez le fournisseur de sécurité mobile Lookout. e-mail. “Les attaquants peuvent l’utiliser pour modifier le comportement des processus privilégiés, obtenant ainsi la capacité d’exécuter du code arbitraire avec des privilèges système étendus.”
Le chercheur de Lookout a déclaré que la vulnérabilité peut être exploitée sur les combinés Android via une application malveillante qui élève ses privilèges, qui par défaut sont censés être limités. Une autre avenue d’attaque, a-t-il dit, consiste à utiliser un exploit différent pour obtenir une exécution de code limitée (par exemple, avec les droits système d’une application légitime qui est piratée) et à le combiner avec Dirty Pipe afin que le code gagne une racine sans entrave.
Bien que Kellermann ait déclaré que Google avait fusionné son correctif de bogue avec le noyau Android en février, rien n’indique que les versions Android basées sur une version vulnérable du noyau Linux soient corrigées. Les utilisateurs doivent supposer que tout appareil exécutant une version d’Android basée sur une version vulnérable du noyau Linux est sensible à Dirty Pipe. Les représentants de Google n’ont pas répondu à un e-mail sollicitant un commentaire.