Ein Post-Mortem der PHP Foundation besagt, dass eine kleine Gruppe von Verantwortlichen zwei Jahre lang von einer schwerwiegenden PHP-Schwachstelle wusste, bevor sie öffentlich bekannt wurde. Das Problem wird inzwischen bei Angriffen namens PHP2Shell ausgenutzt. Diese können die Ausführung von Code aus der Ferne ermöglichen, wenn Angreifer die PHP-Version und den Build kennen, die auf einem Zielserver laufen.
Die Schwachstelle geht auf den Umgang von PHP mit Speichererschöpfung zurück. Springt die Engine während des Aufbaus einer Datenstruktur in ihren Bereinigungsprozess, können unvollständige Daten im Speicher verbleiben. Eine präparierte Webanfrage kann diesen inkonsistenten Zustand ausnutzen, um Code mit den Berechtigungen des PHP-Prozesses auszuführen.
Die Foundation erklärte, die Verantwortlichen hätten das Problem zunächst nicht als dringlich betrachtet und darüber debattiert, wie es behoben werden könne, ohne die Kompatibilität mit Erweiterungen von Drittanbietern zu beeinträchtigen. Sie räumte Fehler im Management ein. Das im Post-Mortem beschriebene Team ist klein: Ein Vollzeitmitarbeiter und 14 Teilzeitkräfte warten eine Programmiersprache, die im gesamten Web weit verbreitet ist.
Die Auswirkungen der Schwachstelle werden durch die Zahl der Installationen mit nicht mehr unterstützter Software verschärft. Dem Bericht zufolge liefen zum Zeitpunkt der Offenlegung 73 % der PHP-Installationen auf Versionen, deren Lebenszyklus abgelaufen war. Die derzeit unterstützten PHP-Zweige reichen von 8.1 bis 8.5, während viele ältere Installationen für Sicherheitsupdates auf Betriebssystemdistributionen oder Community-Repositories angewiesen sind.
Die PHP Foundation veröffentlichte Patches für die Versionen 7.4 bis 8.1. Auch andere Organisationen stellten Korrekturen für ältere Versionen bereit, darunter Pakete des Debian-Entwicklers Ondřej Surý, von CloudLinux und AlmaLinux. Die kommerziellen Supportanbieter Ubuntu Pro und Zend veröffentlichten Pakete für Versionen bis hinunter zu PHP 5.5. Der Quelle zufolge verwendeten noch fast 8 % der Installationen PHP 5.x, das erstmals 2005 veröffentlicht wurde.
Web Application Firewalls und andere Sicherheitswerkzeuge können dabei helfen, bösartige Aktivitäten zu blockieren oder zu erkennen; die direkte Lösung besteht jedoch weiterhin darin, auf eine gepatchte Version zu aktualisieren. Cloudflare und Fastly ergänzten ihre Regelsätze um die Erkennung von PHP2Shell, während Server-Sicherheitsprodukte verdächtige Aktivitäten der PHP-Binärdatei überwachen können. Auch einige Netzwerkgeräte und NAS-Geräte enthalten PHP und müssen möglicherweise aktualisiert werden.
Der Bericht beschreibt anhaltende Ausnutzung der Schwachstelle, darunter eine Kampagne, bei der der PHP-Fehler mit Fragnesia, auch bekannt als Dirty Frag, kombiniert wurde, um Zugriff auf Kernel-Ebene auf 25 Server zu erlangen, die offenbar mit der US-Regierung in Verbindung standen. Das Sicherheitsunternehmen BitSight meldete bis zum 29. Oktober zahlreiche PHP2Shell-Eindringversuche aus verschiedenen Quellen. Zu diesem Zeitpunkt hatte es noch kein einzelnes, universelles Exploit-Paket gefunden, warnte jedoch, dass sich das ändern könne.
Censys schätzte zunächst, dass etwa 45,7 Millionen von 119 Millionen PHP-Installationen gefährdet seien. Bei einer späteren Zählung kam das Unternehmen auf rund 29 Millionen ungepatchte Dienste. Allerdings melden 62 % der von Censys überwachten PHP-Server ihre Version nicht, und zurückportierte Korrekturen ändern möglicherweise die Versionsnummer nicht. Daher ist es schwierig, den tatsächlichen Patch-Status zu bestimmen.
Quellen: Tom's Hardware.