Stabsstelle Informationssicherheit der
Universität Stuttgart (RUS-CERT)
https://cert.uni-stuttgart.de
logo
Meldung Nr: RUS-CERT-718

[Generic/PHP] Handhabung von POST-Requests fehlerhaft
(2002-02-28 12:55:00+00)

Quelle: http://cert.uni-stuttgart.de/archive/bugtraq/2002/02/msg00378.html

Durch einen Pufferüberlauf in der Verarbeitung von bestimmten POST-Anfragen können Angreifer auf Webservern, die PHP verwenden, beliebigen Code ausführen.

Betroffene Systeme
Systeme, die eine der folgenden PHP-Versionen einsetzen (die Versionsangaben sind jeweils einschließlich):

Einfallstor
POST-Requests über HTTP bzw. HTTPS mit MIME-Typ "multipart/form-data" (gewöhnlich über TCP-Port 80 bzw. 443).

Für die Ausbeutung der Schwachstelle ist es unerheblich, ob diese Daten vom aufgerufenen PHP-Skript tatsächlich verarbeitet werden.

Auswirkung
Der Angreifer kann beliebigen Code mit den Rechten des Webservers bzw. des PHP-Interpreters ausführen.

Typ der Verwundbarkeit
buffer overflow bug (je nach PHP-Version in verschiedenen Ausprägungen)

Gefahrenpotential
hoch bis sehr hoch
(Abhängig von der UID, unter 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, wurden (je nach PHP-Version unterschiedliche) Pufferüberlauffehler entdeckt. Etwas irreführend werden diese Anfragen in der PHP-Dokumentation als file uploads bezeichnet, obwohl häufig auch ausgefüllte Web-Formulare (ohne beigefügte Dateien) über diesen Mechanismus an den Server zurückgeschickt werden. 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.

Der entsprechende Code wurde innerhalb relativ kurzer Zeit mehrfach überarbeitet, so daß die Schwierigkeit des Angriffes nicht nur von Architektur zur Architektur, sondern auch von PHP-Version zu PHP-Version stark schwankt. Die Erfahrung zeigt aber, daß es leichtsinnig ist, schwierig bis unmöglich ausnutzbar scheinende Angriffsmöglichkeiten zu ignorieren.

Workaround

Gegenmaßnahmen

Vulnerability ID

Weitere Information zu diesem Thema

(fw)

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=718