
Aufgebohrter Dirty Pipe (CVE-2022-0847) PoC, der eine SUID-Binärdatei kapert, um eine Root-Shell zu starten. (und versucht auch die beschädigte Binärdatei wiederherzustellen)
Aufbereiteter Dirty Pipe (CVE-2022-0847) PoC, der eine SUID-Binärdatei kapert, um eine Root-Shell zu starten. (und versucht, die beschädigte Binärdatei ebenfalls wiederherzustellen)
Es wurde ein Fehler darin gefunden, dass das „flags“-Mitglied der neuen Pipe-Pufferstruktur in den Funktionen copy_page_to_iter_pipe und push_pipe im Linux-Kernel nicht richtig initialisiert wurde und daher veraltete Werte enthalten konnte. Ein unprivilegierter lokaler Benutzer konnte diesen Fehler ausnutzen, um in Seiten des Page-Cache zu schreiben, die von schreibgeschützten Dateien unterstützt werden, und so seine Berechtigungen auf dem System zu erhöhen.
Eine neue Linux-Sicherheitslücke namens „Dirty Pipe“ ermöglicht es lokalen Benutzern, durch öffentlich verfügbare Exploits Root-Rechte zu erlangen.
Heute hat der Sicherheitsforscher Max Kellermann die „Dirty Pipe“-Schwachstelle verantwortungsvoll offengelegt und erklärt, dass sie Linux-Kernel 5.8 und spätere Versionen betrifft, einschließlich Android-Geräte.
Die Sicherheitslücke wird als CVE-2022-0847 verfolgt und erlaubt es einem nicht-privilegierten Benutzer, Daten in schreibgeschützten Dateien zu injizieren und zu überschreiben, einschließlich SUID-Prozessen, die als Root ausgeführt werden.
Kellermann entdeckte den Fehler, nachdem er einen Bug verfolgte, der die Webserver-Zugriffslogs eines seiner Kunden beschädigte.
Dann schrieb Bl4sty eine andere Version. Anstatt eine Datei wie /etc/passwd zu überschreiben, überschreibt sie eine benutzerdefinierte SUID-Binärdatei (wie /bin/su), injiziert Shellcode, der dann mit privilegierten Benutzerrechten (d.h. Root) ausgeführt wird.
gcc dirtypipez.c -o exploit
./exploit /bin/su