Sicherheitslücke in sudo ermöglicht Rechte-Ausweitung
Durch das Zurücksetzen der UNIX-Systemzeit können Benutzer unter bestimmten Bedingungen Befehle ausführen, die sonst root-Rechte benötigen.
- Tomas Rudl
Der sudo-Befehl dient auf UNIX-artigen Systemen dazu, Befehle mit den Rechten eines anderen Benutzers auszuführen, wobei das eigene Passwort zur Authentifizierung ausreicht. Dieser Mechanismus wird unter Mac OS X oder Linux-Distributionen wie Ubuntu verwendet, um Benutzer administrative Aufgaben ausführen zu lassen, ohne dass sich diese als root-Benutzer anmelden müssen. Nach der erfolgreichen Authentifizierung wird mittels eines Zeitstempels ein Zeitfenster von normalerweise fünf Minuten geöffnet, in dem keine weitere Passwort-Eingabe notwendig ist.
Eine Sicherheitslücke ermöglicht es Angreifern, unter bestimmten Bedingungen Befehle auszuführen, die sonst die Eingabe von sudo und des entsprechenden Passworts voraussetzen. Dazu muss der angemeldete Benutzer in der Datei /etc/sudoers aufgelistet sein; dort wird auch festgelegt, welche Programme mit welchen Rechten ausgeführt werden können. Der Benutzer muss zumindest einmal den sudo-Befehl gestartet und sich erfolgreich authentifiziert haben. Ferner muss das Ändern der Systemzeit ohne die Eingabe eines Passwortes möglich sein.
Sind diese Voraussetzungen erfüllt, reicht es einfach, den vorhandenen Zeitstempel mit "sudo -k" zurückzusetzen, und anschließend die Systemzeit auf den 01. Januar 1970, ein Uhr zu stellen, das Unixzeit-Startdatum. Der Benutzer kann nun alle Befehle ausführen, auf die er laut /etc/sudoers Zugriff hat. Sowohl bei Ubuntu als auch bei Mac OS X ist der erste Benutzer, der bei der Installation angelegt wurde, Mitglied der admin-Gruppe und darf alle Befehle, die das System zur Verfügung stellt, mit sudo ausführen. Es empfiehlt sich daher dringend, einen Benutzer ohne Administrator-Rechte anzulegen, und diesen im Alltag zu nutzen.
Betroffen sind die sudo-Versionen 1.6.0 bis 1.7.10p6 und 1.8.0 bis 1.8.6p6. Die Lücke ist ab den Versionen 1.7.10p7 beziehungsweise 1.8.6p7 gestopft. [Update 5.03.2013 11:35 Uhr: Auf Mac OS X 10.8.2 ist die sudo-Version 1.7.4p6 installiert. Unklar ist, wann Apple ein Sicherheitsupdate veröffentlicht.] (tru)