Mehrere Sicherheitslücken in PHP
Eine kritische Lücke in der beliebten Skriptsprache für Server lässt sich unter Umständen von einem Angreifer übers Netz zur Ausführung von beliebigem PHP-Code nutzen.
Die weit verbreitete Skriptsprache PHP weist eine kritische Sicherheitslücke auf, die nach Einschätzung des Entdeckers Stefan Esser in vielen PHP-Applikationen von einem Angreifer übers Netz zum Ausführen von beliebigem PHP-Code genutzt werden kann. Bei einem Datei-Upload komme es unter Umständen zu einer teilweisen Überschreibung des so genannten $GLOBALS-Arrays, wodurch sich schadhafter PHP-Code an den Server übermitteln ließe. Betroffen seien unter anderem zahlreiche Applikationen, die auf der PHP-Funktionsbibliothek PEAR oder dem Forensystem vBulletin aufbauen. Die komplexen Auswirkungen dieses Problems, das auch bei register_globals=off zu Tage tritt, beschreibt Stefan Esser in einem eigenständigen Paper.
Eine weniger kritische Lücke betrifft die Funktion phpinfo(), durch die sich HTML-Code beispielsweise zum Auslesen von Domain-Cookies in die Ausgabe der Funktion einschleusen lasse. Diese Funktion sollte allerdings ohnehin nur in Testumgebungen eingesetzt werden. Als ebenfalls unkritisch wird eine Sicherheitslücke in der Funktion parse_str() eingeschätzt. So sei es unter Umständen möglich, durch Skripte, die die Funktion parse_str() mit nur einem Argument aufrufen, den PHP-Kern vorübergehend wieder in den Zustand register_globals=on zu versetzen, selbst wenn in der php.ini Gegenteiliges konfiguriert wurde.
Betroffen von den Sicherheitslücken sind alle PHP-Versionen einschließlich 4.4.0 und 5.0.5. Benutzern von PHP4 wird empfohlen, umgehend auf die neue Version 4.4.1 zu aktualisieren. Für PHP5 ist offenbar noch keine fehlerbereinigte Fassung verfügbar.
Siehe dazu auch: (cr)
- PHP File-Upload $GLOBALS Overwrite Vulnerability, Advisory von Stefan Esser
- $GLOBALS Overwrite and its Consequences