SQL-Injection-Lücke in MySQL gestopft
Durch eine fehlerhafte Funktion ließen unter bestimmten Umständen eigene Befehle an die Datenbank übergeben.
- Daniel Bachfeld
Die Entwickler von MySQL haben neue Versionen ihrer Datenbank veröffentlicht, in denen neben diversen Fehlern auch eine Schwachstelle beseitigt ist, über die SQL-Injection möglich war. Die Lücke steckt in der Funktion mysql_real_escape_string(), die bestimmte Zeichen einer Multibyte-Zeichenkette nicht richtig ausfiltert. Eigentlich soll gerade diese Funktion SQL-Injection über fehlerhafte Skripten mittels das Einfügen von Escape-Zeichen verhindern. Unter bestimmten Umständen ist dies aber dennoch möglich. Anwender, die die eine neue Version nicht installieren können, sollten laut Fehlerbericht die Datenbank im SQL-Mode NO_BACKSLASH_ESCAPES SQL betreiben.
Siehe dazu auch: (dab)
- Changes in release 5.0.22, Meldung von MySQL
- Changes in release 4.1.20, Meldung von MySQL
- Changes in release 5.1.11 (Not yet released), Meldung von MySQL