PHP patcht schnell, aber nicht gründlich

Der PHP-Patch für die kritische Lücke im CGI-Mode ist fehlerhaft. Ein inoffizieller Workaround soll Abhilfe schaffen. Mit einem Metasploit-Modul kann ein Angreifer auf betroffenen Servern eigenen Code ausführen.

In Pocket speichern vorlesen Druckansicht 154 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Ronald Eikenberg

Die am gestrigen Donnerstag veröffentlichten Updates auf die PHP-Versionen 5.3.12 und 5.4.2 sind fehlerhaft. Darauf weisen die Entdecker der Schwachstelle hin, welche eigentlich durch die Updates behoben werden sollte. Durch einen Fehler bei dem Zusammenspiel von CGI und PHP kann ein Angreifer Code auf den betroffenen Servern ausführen. Das Problem blieb acht Jahre lang unentdeckt.

Den besten Schutz bieten derzeit Filterregeln auf dem Server. Allerdings ist auch die als Workaround auf PHP.net veröffentlichte RewriteRule fehlerhaft, wie der Sicherheitsexperte Christopher Kunz berichtet. Er schlägt eine leicht abgewandelte Form der Regel als Alternative vor.

Da sich die PHP-Interpreter für CGI nicht an die Spezifikationen des CGI-Standards hält, werden URL-Parameter in bestimmten Situationen als Kommandozeilen-Parameter an PHP übergeben. Betroffen sind Server, die PHP im CGI-Modus betreiben; FastCGI-Installationen von PHP hingegen nicht. Der PHP-Patch soll dafür sorgen, dass Parameterstrings, die mit einem Minus beginnen und kein Gleichheitszeichen enthalten, ignoriert werden. Dies lässt sich jedoch nach Angaben der Entdecker der Schwachstelle einfach umgehen. Ein neuer, geringfügig modifizierter Patch wurde bereits ins Bugtracking-System eingereicht, der für einen Vergleich
query_string anstelle von decoded_query_string verwendet.

Wer die Zeichenkette ?-s an das Ende einer URL hängt, kann herausfinden, ob er selbst betroffen ist. Liefert der Server PHP-Quellcode zurück, sollte man schleunigst handeln. Es ist nämlich bereits ein Metasploit-Modul im Umlauf, das auf einem verwundbaren Server eine Remote-Shell zur Ausführung beliebigen Codes öffnen soll. (rei)