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.

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 *