Menü
Alert!
Security

PHP-Team versucht erneut kritische CGI-Lücke zu schließen

vorlesen Drucken Kommentare lesen 194 Beiträge

Das PHP-Entwicklerteam hat einen erneuten Versuch unternommen, die kritische Schwachstelle beim Zusammenspiel mit CGI in den Griff zu bekommen. PHP interpretiert im CGI-Mode bestimmte URL-Parameter als Kommandozeilenparamter. Dadurch liefert ein betroffener Server den Quellcode einer Seite aus, wenn man die Zeichenkette ?-s an das Ende einer URL hängt (http://www.heise.de/?-s). Auch das Ausführen von Code ist auf diese Weise möglich.

Die Details zur Lücke wurden bekannt, weil die Entwickler den entsprechenden Eintrag im Bugtracking-System versehentlich als "öffentlich" markierten. Sie wird inzwischen aktiv für Angriffe ausgenutzt. Eigentlich sollte das Problem durch die Versionen 5.3.12 und 5.4.2 behoben werden, die Ende vergangener Woche erschienen sind. Es stellte sich jedoch schnell heraus, dass die Updates die Schwachstelle nur unzureichend abdichten. Offenbar gibt es weitere Möglichkeiten, die Lücke auszunutzen. Auch die anfangs als Workaround bereitgestellte Rewrite-Regel lässt sich nach Meinung von Sicherheitsexperten leicht umgehen.

Mit den jetzt veröffentlichten Versionen 5.3.13 und 5.4.3 versprechen die Entwickler erneut, die Lücke geschlossen zu haben – und ersten Tests des PHP-Experten Christopher Kunz zufolge wird das Versprechen dieses Mal auch gehalten. Darüber hinaus wurde im 5.4er-Zweig ein Buffer-Overflow behoben, der sich in der Funktion apache_request_headers befindet. Auch zu dieser Lücke findet man bereits seit Ende vergangener Woche konkrete Details im Netz. Laut dem Sicherheitsexperten Georg Wicherski handelt es sich hierbei um einen Speicherüberlauf auf dem Stack, der sich nur auf Systemen ausnutzen lässt, auf denen PHP im CGI-Mode läuft. Die Schwachstelle lässt sich unter anderen in Kombination mit dem Webserver lighttpd ausnutzen.

Einen einfachen PoC-Exploit hat er ebenfalls veröffentlicht – wohlbemerkt bereits Ende vergangener Woche. Wicherski ist über den Eintrag in der Bugtracking-Datenbank auf das Problem aufmerksam geworden. Zwar war die Lücke noch "vertraulich" markiert und die Details dadurch nicht öffentlich einsehbar, nach seinen Angaben hat ihm aber der angezeigte Name der Schwachstelle ausgereicht, um sie innerhalb von fünf Minuten im PHP-Quelltext aufzuspüren.

Siehe dazu auch:

  • PHP im heise Software-Verzeichnis

(rei)