Schwerwiegende Sicherheitslücke in PHP

Heise berichtete gestern übere eine äußerst schwerwiegende Sicherheitslücke in aktuellen PHP-Versionen. Der Fehler tritt auf, wenn PHP im CGI-Modus betrieben wird und erlaubt es, PHP-Dateien im Quellcode zu sehen. Damit können beispielsweise hinterlegte Zugangsdaten für Datenbanken ausgelesen werden. Zudem ist es möglich, mithilfe dieser Lücke Code einzuschleusen und auf dem Server auszuführen, was das Problem noch schwerwiegender macht.

Durch das Übermitteln von Parametern in der URL kommt es dazu, dass PHP im CGI-Modus diese als Kommandozeilenparameter interpretiert und entsprechend nutzt. Durch die URL

http://localhost/index.php?-s

wird PHP beispielsweise mit der Option -s ausgeführt, der Quellcode der PHP-Datei wird als HTML ausgegeben.

Inzwischen wurden bereits Patches zur Verfügung gestellt, die Versionen 5.3.12 und 5.4.2 schließen die beschriebene Lücke. Wer die Updates noch nicht einspielen kann, sollte die Queries zunächst filtern. Der folgende Eintrag in der .htaccess Datei macht das möglich:

RewriteCond %{QUERY_STRING} ^(%2d|-)[^=]+$ [NC]
RewriteRule ^(.*) $1? [L]

Verschiedene Provider haben zwischenzeitlich den CGI-Modus von PHP komplett deaktiviert.

Tags: , ,