[Generic/PHP] Neue POST-Schwachstelle in PHP 4.2.x
(2002-07-23 09:31:46.970683+00)
Quelle:
http://cert.uni-stuttgart.de/archive/vulnwatch/2002/07/msg00038.html
PHP 4.2.x weist eine Schwachstelle in der POST-Verarbeitung auf, wodurch möglicherweise beliebiger Programmcode mit den Rechten des Webservers bzw. des PHP-Interpreters über eine Netzwerkverbindung ausgeführt werden kann.
Betroffene Systeme
- Systeme, die PHP 4.2.0 oder PHP 4.2.1 verwenden.
Nicht betroffene Systeme
- Systeme mit anderen PHP-Versionen.
Einfallstor
POST-Requests über HTTP bzw. HTTPS mit MIME-Typ "multipart/form-data
" (gewöhnlich über TCP-Port 80 bzw. 443).
Für die Ausnutzung der Schwachstelle ist es unerheblich, ob diese Daten vom aufgerufenen PHP-Skript tatsächlich verarbeitet werden.
Auswirkung
Der Angreifer kann unter Umständen beliebigen Code mit den Rechten des Webservers bzw. des PHP-Interpreters ausführen. Insbesondere unter Windows sind Denial of Service-Angriffe möglich.
Typ der Verwundbarkeit
uninitialized memory access
Gefahrenpotential
hoch bis sehr hoch
(Abhängig von der UID
, unter der der PHP-Prozeß läuft, kann die Ausnutzung dieser Schwachstelle bis zur Kompromittierung des beherbergenden Rechnersystems führen.)
(Hinweise zur Einstufung des Gefahrenpotentials.)
Beschreibung
POST-Anfragen dienen der Übermittlung von mittleren Datenmengen vom HTTP-Client zum HTTP-Server. Im PHP-Programmcode, der für die Verarbeitung solcher POST-Anfragen mit dem MIME-Typ "multipart/form-data
" zuständig ist, wurde ein Fehler entdeckt, welcher bewirkt, daß in bestimmten Situationen auf nicht initialisierte Datenstrukturen zugegriffen wird. Da die Schwachstelle direkt in der Dekodierung dieses POST-Request-Typs enthalten ist, spielt es für die Ausnutzbarkeit der Schwachstelle keine Rolle, ob die Daten tatsächlich vom PHP-Skript verarbeitet werden.
Auch HTTP-Anfragen, die mit SSL verschlüsselt wurden (also üblicherweise HTTPS auf TCP-Port 443), können für Angriffe verwendet werden.
Die jetzt bekannt gewordene Schwachstelle unterscheidet sich von der Schwachstelle, die im selben Programmcode Ende Februar 2002 entdeckt wurde. (Der Programmcode wurde in der Zwischenzeit komplett überarbeitet.)
Workaround
- Per Webserver-Konfiguration können POST-Anfragen generell abgelehnt werden. Bei Apache ist dazu folgendes in die Konfiguration einzutragen:
<Limit POST> Order deny,allow Deny from all </Limit>
Gegenmaßnahmen
- Einspielen der Patches, die die PHP-Entwickler bereitstellen, oder ein Update auf PHP 4.2.2.
Da die Installation möglicherweise nicht vollständig trivial ist, sollten Sie überprüfen, ob die vom Webserver gemeldete PHP-Version wirklich 4.2.2 ist. (Der Patch ist, abgesehen von einigen Fixes für das Build-System, minimal.)
- Für den Eigenbedarf kompilierte das RUS-CERT ein Debian-Paket, welches allerdings die Versionsnummer nicht ändert.
Vulnerability ID
Weitere Information zu diesem Thema
Hinweis
Die in diesem Text enthaltene Information wurde für die Mitglieder der Universität Stuttgart recherchiert und zusammengestellt. Die Universität Stuttgart übernimmt keinerlei Haftung für die Inhalte. Dieser Artikel darf ausschließlich in unveränderter Form und nur zusammen mit diesem Hinweis sowie dem folgenden Copyrightverweis veröffentlicht werden. Eine Veröffentlichung unter diesen Bedingungen an anderer Stelle ist ausdrücklich gestattet.
Copyright © 2022 RUS-CERT, Universität Stuttgart, https://cert.uni-stuttgart.de/
https://cert.uni-stuttgart.de/ticker/article.php?mid=892