Am 21. Oktober 2026 veröffentlichte das PHP-Projekt Notfall-Sicherheitsupdates für zwei kritische Lücken, die inzwischen unter dem Namen PHP2Shell bekannt sind. Sie ermöglichen es einem Angreifer, ohne Passwort die Kontrolle über einen Webserver zu übernehmen – in manchen Konfigurationen sogar, bevor der eigene Code der Website überhaupt ausgeführt wird. Erste Ausnutzungsversuche wurden wenige Stunden nach dem Fix beobachtet.
PHP betreibt schätzungsweise 75 bis 80 % aller Websites, darunter WordPress – ein sehr großer Teil des Webs ist also betroffen. Hier erfahren Sie, was passiert ist, wer gefährdet ist und was Sie jetzt und künftig tun sollten.
Was PHP2Shell ist
PHP2Shell besteht aus zwei getrennten Fehlern im Kern von PHP selbst, nicht in einem Plugin oder Theme:
- CVE-2026-109618 wird ausgelöst, wenn PHP mitten im Aufbau einer Anfrage der Speicher ausgeht. Interne Daten bleiben halbfertig zurück, und der Aufräumcode vertraut ihnen trotzdem. Schon eine speziell präparierte, übergroße Formularübermittlung kann genügen.
- CVE-2026-109619 ist ein Fehler mit „veraltetem Zustand“: Informationen einer Anfrage überdauern den Speicher, auf den sie verweisen, und die nächste Anfrage desselben PHP-Workers arbeitet mit diesen Überresten. Forschende zeigten, dass er über die Upload-Fortschrittsfunktion von PHP erreichbar ist, die standardmäßig aktiviert ist und bei jeder Formularübermittlung läuft, bevor die Anwendung sie überhaupt sieht.
Beide sind mit 9,2 von 10 (kritisch) bewertet. Jede der beiden Lücken kann einem Angreifer erlauben, eigenen Code mit den Rechten des Webservers auszuführen. Von dort aus kann er Datenbanken und Konfigurationsdateien lesen, Hintertüren einrichten, Spam versenden oder den Server für Angriffe auf andere nutzen.
Woher die Lücken stammen
Die Lücken wurden von Sicherheitsforschenden bei Calif, OpenAI und Wiz entdeckt und vertraulich an das PHP-Sicherheitsteam gemeldet. Die Veröffentlichung war für den 22. Oktober geplant. Am 20. Oktober tauchten jedoch Screenshots, Videos und Teilinformationen zu einem Werkzeug namens „PHP2Shell“ im Netz auf, weshalb PHP den Notfall-Release auf den 21. Oktober um 14:00 Uhr UTC vorzog.
Das verwundbare Verhalten ist alt. Laut einer Analyse von Abstract Security reicht der betroffene Code bis zu PHP 5.4 aus dem Jahr 2012 zurück – er war also mehr als ein Jahrzehnt vorhanden. Das ist bei schweren Fehlern in weit verbreiteter Software üblich: Code, der im Normalbetrieb korrekt funktioniert, kann jahrelang einen Sonderfall verbergen, bis ihn jemand aus Sicht eines Angreifers betrachtet.
Was derzeit passiert
- Aktive Ausnutzung: Das Sicherheitsunternehmen watchTowr beobachtete am 21. Oktober, dem Tag des Fixes, Ausnutzungsversuche gegen sein Honeypot-Netzwerk.
- Ausmaß: VirusTotal schätzt, dass mehr als 5,1 Millionen PHP-Server im Internet erreichbar sind.
- Offizielle Warnungen: Das britische National Cyber Security Centre forderte Organisationen im Vereinigten Königreich auf, PHP sofort zu aktualisieren oder Systeme bis zum Patch vom Netz zu nehmen.
- Vorübergehender Schutz: Cloudflare spielte Regeln für die Web Application Firewall gegen die bekannten Angriffsmethoden ein und meldete erste Angriffe. Das Unternehmen bezeichnete die Regeln als vorübergehend und nicht als Ersatz für das Patchen.
- Umstrittene Vollständigkeit: Ein Forschungsteam, Abstract Security, gibt an, einen verwandten Angriff auf einem vollständig gepatchten Server reproduziert zu haben, indem es dieselbe Upload-Fortschrittsfunktion missbrauchte. Das PHP-Projekt hat dies nicht bestätigt, doch es ist ein weiterer Grund, zusätzlich zum Update die unten beschriebenen Härtungsmaßnahmen umzusetzen.
Wer betroffen ist
Jede PHP-Installation, die Webseiten ausliefert, ist betroffen – unabhängig davon, wie PHP betrieben wird: PHP-FPM, Apache mit mod_php, php-cgi, LiteSpeed oder FrankenPHP. Das PHP-Team stuft Apache mit mod_php als höchstes Risiko ein, weil ein Angriff erfolgreich sein kann, bevor Anwendungscode ausgeführt wird.
Die korrigierten Versionen sind:
| PHP-Zweig | Verwundbar | Behoben in |
|---|---|---|
| 8.5 | unter 8.5.12 | 8.5.12 |
| 8.4 | unter 8.4.27 | 8.4.27 |
| 8.3 | unter 8.3.36 | 8.3.36 |
| 8.2 | unter 8.2.35 | 8.2.35 |
| 8.1, 8.0, 7.4 | alle Versionen | kein Standard-Release; nur Backports von Anbietern oder im Quellcode |
| 7.3 und älter | alle Versionen | kein Fix: auf eine unterstützte Version aktualisieren |
In der Praxis bedeutet das:
- WordPress, Joomla, Drupal, Magento und die meisten Websites kleiner Unternehmen laufen auf PHP. Ihre Website ist nur so sicher wie die PHP-Version darunter.
- Kunden von Shared Hosting sind darauf angewiesen, dass ihr Hoster PHP aktualisiert. Viele Hoster patchen automatisch, manche bieten aber noch alte PHP-Versionen an, die keine Fixes mehr erhalten.
- Alte Server und vergessene Websites sind das größte Risiko: Eine Testseite, eine alte Kampagnenseite oder eine Staging-Kopie mit PHP 7 wird durch kein Update behoben.
- Appliances und Control Panels bringen manchmal ihre eigene PHP-Kopie mit, die Ihre normalen Updates nicht erfassen.
Was Sie jetzt sofort tun sollten
- Finden Sie jede Stelle, an der PHP läuft. Websites, Staging-Kopien, Control Panels, interne Werkzeuge und Appliances. Beginnen Sie mit allem, was aus dem Internet erreichbar ist.
- Aktualisieren Sie auf eine korrigierte Version aus der obigen Tabelle oder installieren Sie die gepatchten Pakete Ihrer Linux-Distribution, die oft schon vor der öffentlichen Bekanntgabe bereitstanden.
- Starten Sie nach dem Update jeden PHP-Worker neu. Lang laufende Prozesse halten den verwundbaren Code bis zum Neustart im Speicher.
- Wenn Sie Shared Hosting nutzen, prüfen Sie Ihre PHP-Version im Control Panel Ihres Hosters. Wechseln Sie auf eine unterstützte Version (8.2 oder neuer) und lassen Sie sich von Ihrem Hoster schriftlich bestätigen, dass die PHP2Shell-Fixes eingespielt sind.
- Wenn Sie heute nicht aktualisieren können, schränken Sie den Zugriff auf den Server ein, deaktivieren Sie
session.upload_progress.enabledin Ihren PHP-Einstellungen, starten Sie neu und halten Sie die maximale Upload-Größe so klein, wie es Ihre Website erlaubt. Das PHP-Team stellt klar, dass keine Einstellung vollständig schützt – betrachten Sie diese Maßnahmen als Notlösung. - Suchen Sie nach Anzeichen einer Kompromittierung ab dem 20. Oktober, nicht erst ab dem Tag Ihres Patches. Warnsignale sind PHP-Fehler mit „tried to allocate“ und „in Unknown on line 0“, Häufungen sehr großer Formularübermittlungen, unbekannte PHP-Dateien in Ihren Website-Ordnern, neue Admin-Benutzer, geänderte Cronjobs oder SSH-Schlüssel sowie unerwartete ausgehende Verbindungen des Webservers.
So schützen Sie sich vor der nächsten Lücke
PHP2Shell wird nicht die letzte kritische Lücke in der Software sein, auf der das Web läuft. Diese Gewohnheiten begrenzen den Schaden beim nächsten Mal:
- Bleiben Sie auf unterstützten Versionen. Software, deren Lebensende erreicht ist, erhält gar keine Fixes mehr. Planen Sie Upgrades rechtzeitig vor dem Ende des Supports ein.
- Wählen Sie einen Hoster, der schnell patcht, und fragen Sie, wie lange kritische PHP-Updates gewöhnlich brauchen, bis sie Ihr Konto erreichen.
- Setzen Sie eine Web Application Firewall vor Ihre Website. Dienste wie Cloudflare und andere CDNs können innerhalb von Stunden virtuelle Patches ausrollen und Ihnen so Zeit für das Update verschaffen.
- Entfernen Sie, was Sie nicht nutzen. Alte Websites, ungenutzte Plugins und nicht benötigte Upload-Funktionen sind zusätzliche Türen.
- Begrenzen Sie den Schadensradius. Betreiben Sie jede Website unter einem eigenen Konto, geben Sie Datenbankbenutzern nur die nötigen Rechte und speichern Sie Geheimnisse außerhalb des Website-Ordners.
- Überwachen und sichern Sie. Überwachung von Dateiänderungen, Protokolle außerhalb des Servers und getestete Offline-Backups machen aus einer Katastrophe eine Unannehmlichkeit.
- Haben Sie einen Plan. Legen Sie im Voraus fest, wer Sicherheitshinweise prüft, wer Notfall-Updates einspielt und wen Sie anrufen, wenn bereits etwas schiefgegangen ist.
Brauchen Sie Hilfe?
Wenn Sie nicht sicher sind, welche PHP-Version Ihre Websites nutzen, oder eine unabhängige Prüfung auf Anzeichen einer Kompromittierung wünschen, hilft Ihnen unser Team. Wir können Ihre Gefährdung bewerten, prüfen, ob die Fixes eingespielt sind, und verdächtige Aktivitäten nach forensischen Standards untersuchen. Kontaktieren Sie uns oder rufen Sie unsere rund um die Uhr erreichbare Nummer +44 7520 644325 an.
