Sudo-Lücke ermöglicht Admin-Rechte für alle Nutzer

Ein Hacker der Gruppe Phenolit findet eine Möglichkeit zu einem Format-String-Angriff. Dadurch kann jeder Benutzer Root-Rechte erlangen. Ein Patch ist inzwischen verfügbar, aber noch nicht flächendeckend ausgerollt.

Ein Mitglied der Hackergruppe Phenolit hat eine gefährliche Lücke im Programm sudo entdeckt, das auf Unix-artigen Systemen wie Linux oder Mac OS X dazu dient, Root-Rechte zu erlangen. Normalerweise ist dazu die Eingabe des Passworts erforderlich.

Über einen Format-String-Angriff, bei dem ein Hacker Format-Spezifikationen wie %s oder %n aus der printf-API-Familie in den Formatstring einschleust, lässt sich sudo jedoch austricksen. Betroffen sind die Versionen 1.8.0 bis 1.8.3p1. ZDNet hat den Angriff auf einem aktuell gepatchten Debian-System nachvollzogen. Inzwischen ist Version 1.8.3p2 erschienen, die das Problem beseitigt.

Konkret lädt sudo den Parameter argv[0], der den Programmnamen enthält, in einen Formatstring. Normalerweise lautet der Parameter daher „sudo“ wie das Programm selbst. Setzt man aber einen Softlink auf das sudo-Binary, der einen Namen wie %s oder %n trägt, lassen sich auf diese Weise beliebige Speicherinhalte einschleusen. Um die Lücke auszunutzen, muss der Angreifer sudo mit einem hohem Debug-Level ausführen.

ZDNet kann die sudo-Lücke auf einem aktuell gepatchten Debian-System leicht nachvollziehen.
ZDNet kann die sudo-Lücke auf einem aktuell gepatchten Debian-System leicht nachvollziehen.

Am einfachsten nutzt man dazu die SUDO_ASKPASS-Erweiterung, die das Passwort nicht über das Terminal abfragt, sondern über eine externe Anwendung, etwa einen GUI-Dialog. Über den Format-String-Angriff überschreibt man die Funktion setuid durch das aufrufkompatible setgid. Auf diese Weise wird die selbstbestimmte externe Anwendung mit Root-Rechten ausgeführt. Diese Anwendung kann beispielsweise eine bash-Shell sein.

Ausdrücklich weist „joernchen“ von Phenolit darauf hin, dass es nicht ausreicht, sudo mit FORTIFY_SOURCE zu kompilieren. Das mache den Angriff zwar „schmerzhaft“, aber nicht unmöglich, schreibt er unter Verweis auf einen Artikel bei Phrack.

Nutzer sollten mit dem Befehl sudo -V nachsehen, ob ihre sudo-Version von der Lücke betroffen ist. Wenn das der Fall ist, sollte man bis zum Erscheinen eines Fixes für die jeweilige Distribution die Version 1.8.3p2 selbst kompilieren und installieren.

Themenseiten: Hacker, Linux, Open Source, macOS

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

ZDNet für mobile Geräte
ZDNet-App für Android herunterladen Lesen Sie ZDNet-Artikel in Google Currents ZDNet-App für iOS

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Sudo-Lücke ermöglicht Admin-Rechte für alle Nutzer

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *