[Generic/PHP] Schwachstelle in PHP
(2004-07-15 12:09:43.500847+00)
Quelle:
http://security.e-matters.de/advisories/112004.html
Eine Schwachstelle in den PHP-Interpretern der Versionen bis 4.3.7 und 5.0.0ORC3 ermöglicht Angreifern über eine Netzwerkverbindung beliebigen Programmcode auf dem beherbergenden Rechnersystem mit den Privilegien des PHP-Servers auszuführen.
Betroffene Systeme
- PHP 4.3.7 und frühere Versionen
- PHP 5.0.0RC3 und frühere Versionen
memory_limit
nicht explizit deaktiviert ist.
Nicht betroffene Systeme
- PHP 4.3.8
- PHP 5.0.0
Einfallstor
Anfrage an den PHP-Server, beispielsweise über eine HTTP-Anfrage an einen Webserver, dessen Seiten mittels PHP dynamisch erzeugt werden.
Auswirkung
Ausführung beliebigen Programmcodes mit den Privilegien des PHP-Interpreters auf dem beherbergenden Rechnersystem. Im Allgemeinen wird der PHP-Interpreter über den Webserver gestartet und erbt dessen Privilegien (meist sind dies keine root
- oder system
-Privilegien).
(remote user compromise)
Hier ist anzumerken, daß PHP auch standalone betrieben werden kann. Die Privilegien des ausführenden Interpreters hängen in diesem Falle von der individuellen Konfiguration ab.
Typ der Verwundbarkeit
design flaw
Gefahrenpotential
hoch
(Hinweise zur Einstufung des Gefahrenpotentials.)
Kontext
PHP ist eine Skriptsprache, die im allgemeinen zur Erzeugung dynamischer Inhalte auf Webservern verwendet wird. Der Code wird dabei direkt in den Seiten abgelegt und bei Aufruf des ensprechenden URLs durch den Webserver an den PHP-Interpreter übergeben, der seinerseits die Ausgabe an den Server zurückgibt.
Beschreibung
Im Code zur Überprüfung der Größe von Anfragen an den PHP-Interpreter ist eine Schwachstelle enthalten, die es Angreifern ermöglicht, beliebigen Programmcode mit den Privilegien des PHP-Interpreter-Prozesses auszuführen. Diese Schwachstelle ist nur dann nicht ausnutzbar, wenn die Option memory_limit
in der Konfigurationsdatei php.ini
den Wert "-1" zugewiesen bekommt oder der Interpreter ohne die entsprechende Option zur Speicherlimitierung kompiliert wurde. In der Voreinstellung ist die Option aktiv, insbesodere auch dann, wenn sie in der Konfigurationsdatei nicht angegeben ist.
Workaround
- Deaktivierung der Option
memory_limit
in der PHP-Konfigurationsdateiphp.ini
.
Dazu ist die Zeilememory_limit = -1
in die Datei einzufügen bzw. eine bereits vorhandene Zeile durch diese zu ersetzen.
Beim Betrieb verschiedener auf PHP basierender Anwendungen kann es zu Betriebsstörungen kommen.
Gegenmaßnahmen
- Installation von PHP 4.3.8 oder 5.0.0
Installation eines Patches:
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=1209