
Version modifiée de Dirty Pipe (CVE-2022-0847) PoC qui détourne un binaire SUID pour générer un shell root. (et tente également de restaurer le binaire endommagé)
Un PoC bidouillé pour Dirty Pipe (CVE-2022-0847) qui détourne un binaire SUID afin de générer un shell root (et tente également de restaurer le binaire endommagé).
Une faille a été découverte dans la manière dont le membre "flags" de la nouvelle structure de tampon de pipe ne bénéficiait pas d'une initialisation correcte dans les fonctions copy_page_to_iter_pipe et push_pipe du noyau Linux, et pouvait ainsi contenir des valeurs obsolètes. Un utilisateur local non privilégié pouvait exploiter cette faille pour écrire dans des pages du cache de pages sauvegardées par des fichiers en lecture seule, et ainsi élever ses privilèges sur le système.
Une nouvelle vulnérabilité Linux connue sous le nom de « Dirty Pipe » permet aux utilisateurs locaux d'obtenir les privilèges root via des exploits publiquement disponibles.
Aujourd'hui, le chercheur en sécurité Max Kellermann a divulgué de manière responsable la vulnérabilité « Dirty Pipe » et a déclaré qu'elle affecte le noyau Linux 5.8 et les versions ultérieures, y compris les appareils Android.
La vulnérabilité est suivie sous le nom CVE-2022-0847 et permet à un utilisateur non privilégié d'injecter et de remplacer des données dans des fichiers en lecture seule, y compris les processus SUID qui s'exécutent en tant que root.
Kellerman a découvert le bogue en traçant un bogue qui corrompait les journaux d'accès du serveur web pour l'un de ses clients.
Ensuite, Bl4sty a écrit une autre version. Au lieu de remplacer un fichier comme /etc/passwd, il remplace un binaire SUID spécifié par l'utilisateur (comme /bin/su), en injectant du shellcode qui est ensuite exécuté avec les permissions de l'utilisateur privilégié (c'est-à-dire root).
gcc dirtypipez.c -o exploit
./exploit /bin/su