Neue PHP-LĂĽcken und neue -Version
Die PHP-Entwickler haben die Version 4.4.6 der Skriptsprache veröffentlicht, die einige Fehler der Vorgängerversion ausbügelt. Währenddessen melden die Initiatoren des MOPB einige Lücken, die teilweise noch nicht behoben sind.
Die PHP-Entwickler haben die Version 4.4.6 der Skriptsprache veröffentlicht, die einige Fehler ausbügelt, die erst mit der Vorgängerversion Einzug hielten. Währenddessen melden die Initiatoren des Month of PHP Bugs (MOPB) neue Lücken, die teilweise noch nicht behoben sind.
Die Version 4.4.5 von PHP sollte einige SicherheitslĂĽcken schlieĂźen. Allerdings fĂĽhrte ein Programmierfehler dazu, dass PHP bei aktiviertem register_globals abstĂĽrzen konnte. Diesen Fehler und noch einige weitere als minder schwerwiegend eingestufte Fehler, die zu AbstĂĽrzen fĂĽhren konnten, haben die Entwickler darin behoben.
Beim Month of PHP Bugs sind inzwischen fünf Fehlermeldungen aufgelaufen. Neben der bereits gemeldeten Schwachstelle durch nur 16 Bit breite Referenzzähler für Variablen in PHP 4 steht nun ein Bericht über bereits bekannte PHP-Abstürze durch zu tiefe Rekursion online, die sämtliche PHP-Versionen betrifft. Etwa bei der rekursiven Überprüfung von Benutzereingaben kann PHP sämtlichen Speicher aufbrauchen, was zum Absturz führt – die PHP-Entwickler sehen darin jedoch keine Sicherheitslücke und wollen das Problem daher nicht beseitigen.
Die dritte gemeldete Lücke behandelt denselben Fehler, der sich jedoch auch in der Zend-Engine findet und darin ebenfalls aus den gleichen Gründen nicht geschlossen werden soll. Schwachstelle Nummer vier zeigt auf, dass Angreifer die als nur lokal ausnutzbar eingestufte Lücke durch den 16 Bit breiten Referenzzähler für Variablen in PHP 4 auch aus dem Netz ausnutzen können. So kann beispielsweise durch den Einsatz der Funktion unserialize() zur Überprüfung von Benutzereingaben eingeschmuggelter Schadcode zur Ausführung kommen. Die PHP-Entwickler haben diese Schwachstelle mit PHP 4.4.5 bereits behoben, allerdings eine Erwähnung in den Releasenotes vergessen.
Die letzte gemeldete Schwachstelle betraf die Funktion zend_hash_init(), die auf 64-Bit-Systemen in eine Endlosschleife geraten konnte. Der Fehler betraf alle PHP-Versionen, wurde aber bereits in PHP 4.4.5 und 5.2.1 behoben. Zwar hatten die PHP-Entwickler die zum Fehler führenden Variablen von 32 Bit Länge auf 64 Bit umgestellt, in der Zend-Engine kamen jedoch immer noch 32-Bit-Variablen zum Einsatz.
Auf Anfrage von heise Security bei Stefan Esser erläuterte dieser, dass einige bereits behobene Fehler deshalb beim MOPB auftauchen, weil die Initiatoren viele Schwachstellen schon vorab an die PHP-Entwickler gemeldet haben. Außerdem möchte der MOPB auch darauf hinweisen, dass einige als nur lokal ausnutzbar eingestufte Lücken dazu dienen können, Server über das Internet zum Absturz zu bringen.
Die MOPB-Initiatoren verweisen weiterhin auf die Projekte Hardened PHP und Suhosin, die viele der Schwachstellen in PHP beseitigen. Die Suhosin-Erweiterung soll dabei weitestmögliche Anwendungskompatibilität bieten.
Siehe dazu auch:
- AnkĂĽndigung von PHP 4.4.6
- Download der neuen PHP-Version
- PHP Executor Deep Recursion Stack Overflow, Fehlermeldung beim MOPB
- PHP Variable Destructor Deep Recursion Stack Overflow, Fehlermeldung beim MOPB
- PHP 4 unserialize() ZVAL Reference Counter Overflow, Fehlermeldung beim MOPB
- PHP unserialize() 64 bit Array Creation Denial of Service Vulnerability, Fehlermeldung beim MOPB
(dmk)