03.05.2012 17:52
Alert! Gefahr durch offene PHP-Lücke Update
Das US-CERT warnt vor einer kritischen Sicherheitslücke in PHP, die versehentlich an die Öffentlichkeit geraten ist, während die Entwickler noch an einem Fix arbeiten. Betroffen sind Server, die PHP im CGI-Modus betreiben; FastCGI-Installationen von PHP sind hingegen nicht betroffen.
Ein Team entdeckte das Problem während eines Capture-The-Flag-Wettbewerbs. Im Wesentlichen beruht es darauf, dass man dem PHP-CGI-Programm über den Aufruf spezieller URLs Kommandozeilenparameter unterjubeln kann. So sorgt etwa die URL
http://localhost/index.php?-s
dafür, dass der Web-Server php-cgi mit dem Parameter -s aufruft wird, was den PHP-Quellcode von index.php als HTML ausgibt, statt ihn auszuführen. Das wäre an sich schon schlimm genug, weil PHP-Applikationen oft kritische Daten wie Zugangsdaten für Datenbanken enthalten. Doch laut den Entdeckern kann man damit auch direkt Code einschleusen und ausführen lassen, was die Lücke in die höchste Gefahrenstufe hebt.
Eigentlich sollte die Veröffentlichung der Lücke erst nach der Bereitstellung eines Patches erfolgen. Die Entdecker hatten dazu ihren Fund an das US-CERT weitergegeben, die als Vermittler agierten. Erst gestern hatte das CTF-Team zugestimmt, den PHP-Entwicklern noch etwas Zeit einzuräumen, den bereits vorhandenen Patch zu testen. Doch dann wurde der versehentlich als "öffentlich" markierte Eintrag in der PHP-Fehlerdatenbank auf der US-Site reddit gepostet und die Katze war aus dem Sack. Das CTF-Team veröffentlichte kurz danach weitere Informationen zu der PHP-Lücke in einem Blog.
Das US-CERT sieht derzeit noch keinen praktikable Möglichkeit sich zu schützen; die Entdecker der Lücke empfehlen, das PHP-CGI-Programm durch ein Wrapper-Skript zu ersetzen, das die Parameter filtert, bevor es das eigentliche PHP-Programm aufruft. Sie stellen auch ein passendes Beispiel-Skript bereit. Da das PHP-Team bereits einen Patch testet, sollte es auch bald eine offizielle Lösung für das Problem geben.
Update: Das PHP-Team hat die Versionen PHP 5.3.12 und PHP 5.4.2 veröffentlicht, die dieses Problem beseitigen. Für Admins, die derzeit noch nicht auf diese Versionen umstellen können, empfehlen sie, Query Strings zu filtern, die mit einem "-" anfangen und kein "=" enthalten. Mit dem Apache-Modul mod_rewrite erledigt das:
RewriteCond %{QUERY_STRING} ^(%2d|-)[^=]+$ [NC]
RewriteRule ^(.*) $1? [L]
2. Update: Die Entdecker weisen darauf hin, dass der Patch die Lücke keineswegs schließt; die eingefügten Sicherheitsvorkehrungen ließen sich einfach umgehen. Den besten Schutz bietet derzeit der Einsatz von Filterregeln.
(ju)
Unsere Entdeckung, dass via Skype verschickte URLs von Microsoft besucht werden, hat für einigen Aufruhr gesorgt. Mittlerweile liegen etwas mehr Informationen dazu auf dem Tisch.
Die aktuelle BKA-Trojaner sperrt nicht nur den Rechner, sondern legt auch Bilder mit Kinderpornografie auf dem System ab. Mit Desinfec't kann man diesen Unrat aufspüren und beseitigen.
Der Krypto-Experte Karsten Nohl kritisiert die Absenkung des Schutzniveaus für Steuer-, Sozial- und Gerichtsdaten im Rahmen der gesetzlichen Anpassungen für De-Mail.
Wer verhindern will, dass Nutzer auf fremde Kalender zugreifen oder eigenen PHP-Code in den Server einschleusen, sollte baldmöglichst auf eine der aktuellen Versionen umsteigen.
Die Mozilla-Entwickler haben zahlreiche Sicherheitslöcher in Firefox und Thunderbird gestopft. Durch eine kann ein Angreifer, der bereits einen Fuß in der Tür hat, an Systemrechte gelangen.