Details zur neuen PHP-LĂĽcke
Ein Angreifer könnte etwa mit präparierten Cookies Code einschleusen und mit den Rechten der Anwendung ausführen. Ein Proof-of-Concept-Exploit startet eingeschleusten Shellcode.
- Daniel Bachfeld
Stefan Esser hat einen Fehlerbericht zu der vergangene Woche gemeldeten Lücke in PHP veröffentlicht, der weitere Details enthält. Demnach lässt sich der Integer Overflow in der Funktion ecalloc() der ZendEngine1 über bestimmte Nutzerdaten provozieren, die mit der PHP-Funktion unserialize() verarbeitet werden. Unter anderem nutzen PHP-Applikationen wie phpBB2, Invision Board, vBulletin, Serendipity diese Funktion, da sie Cookies über diese Funktion in ein eigenes Format übertragen. Ein Angreifer könnte etwa mit präparierten Cookies seinen Code einschleusen und mit den Rechten der Anwendung ausführen. Esser hat nach eigenen Angaben einen Proof-of-Concept-Exploit entwickelt, der eingeschleusten Shellcode startet. Eine ähnliche Lücke in unserialize() gab es bereits Ende 2004.
Betroffen ist PHP 5 bis einschließlich 5.1.6 sowie PHP 4 bis 4.3.0. Ab 4.3.0 ist zumindest in PHP 4 ein Schutz in der ZendEngine1 vor den Folgen von Integer Overflows in ecalloc() implementiert, so Esser in seinem Bericht. Nach seinen Angaben ist der Fehler zwar im PHP-CVS behoben, ein Sicherheits-Update soll es aber nicht geben. Anwender sollten stattdessen den vom Hardened-PHP-Projekt bereitgestellten Patch installieren oder auf PHP 5.2.0 warten. Nach Erscheinen dieser Version will Esser auch seinen Exploit veröffentlichen.
Siehe dazu auch: (dab)
- PHP unserialize() Array Creation Integer Overflow, Fehlerbericht von Stefan Esser