Zugriff auf MySQL auch ohne Passwort möglich, Version 1

Alte Version

Dies ist eine alte Version des Inhalts in unserem Archiv. Besuchen Sie die aktuelle Version dieser Seite.

Diese Version wurde von Marc Rochow am 11. June 2012 um 18:00 Uhr erstellt.
Bemerkung des Bearbeiters: Erste Version

Änderungen gegenüber vorheriger Version anzeigen


Der Datenbankserver MySQL akzeptieren unter bestimmten Konfigurationen ein beliebiges Passwort, solange man es nur ausreichend lang ausprobiert. Die Wahrscheinlichkeit auf Erfolg liegt bei 1 aus 256, wie Sergei Golubchik berichtet. Dem Angreifer muss lediglich ein Benutzername bekannt sein, in den allermeisten Fällen gibt es den Benutzer root.

Die Datenbankserver vergleicht bei der Anmeldung den gespeicherten Hash-Wert mit dem des gerade eingegebenen Passworts. Aufgrund einer fehlerhaften Typenumwandlung führt es dazu, dass die beiden Werte als "gleich" interpretiert werden, auch wenn die Funktion Memcmp() (Memory Compare) keinen Nullwert zurückgibt.

Laut Golubchik sind die offiziellen Versionen in Distributionen zwar nicht betroffen, in den Versionen 5.1.61, 5.2.11, 5.3.5 und 5.5.22 der beiden Datenbank kann der Fehler jedoch auftreten.

Wer testen möchte, ob die eigene Installation verwundbar ist, kann mit folgenden Einzeiler versuchen, den Fehler zu provozieren:

while true; do mysql -u root mysql --password=baha; done