
Docker-basierte Exploit-Umgebung für die MySQL/MariaDB-Authentifizierungs-Bypass-Schwachstelle CVE-2012-2122. Zeigt einen Fehler im Passwortvergleich, der die Anmeldung mit falschen Anmeldeinformationen ermöglicht.
Wenn eine Verbindung zu MariaDB/MySQL hergestellt wird, wird das eingegebene Passwort mit dem erwarteten korrekten Passwort verglichen. Aufgrund einer fehlerhaften Verarbeitung führt dies dazu, dass MySQL selbst dann, wenn memcmp() einen Wert ungleich Null zurückgibt, die beiden Passwörter als identisch betrachtet. Das bedeutet, dass man mit nur einem Benutzernamen durch ständige Versuche direkt in die SQL-Datenbank einloggen kann.
Betroffene Versionen:
Referenzlinks:
Nach Tests läuft diese Umgebung zwar innerhalb eines Containers, aber ob die Schwachstelle reproduziert werden kann, hängt dennoch bis zu einem gewissen Grad vom Hostsystem ab. Als Hostsystem wird am besten Ubuntu oder Mac empfohlen, allerdings ist nicht sicher, ob es immer funktioniert. Weitere Testergebnisse können gerne im Issue eingereicht werden.
Führen Sie den folgenden Befehl aus, um die Testumgebung zu starten:
docker-compose up -d
Nach dem Starten der Umgebung wird ein MySQL-Dienst (Version: 5.5.23) gestartet, der Port 3306 abhört. Mit einem normalen MySQL-Client kann man sich direkt anmelden; das korrekte root-Passwort lautet 123456.
Wenn man das korrekte Passwort dieser Umgebung nicht kennt, kann man durch Ausführen des folgenden Befehls in der Bash nach einer gewissen Anzahl von Versuchen erfolgreich einloggen:
for i in `seq 1 1000`; do mysql -uroot -pwrong -h your-ip -P3306 ; done

Weitere Test- und Ausnutzungsmethoden finden Sie in den Referenzlinks.