PHP2Shell-Angriffe überschreiten 74.000 Blockierungen – dringende Updates weiterhin erforderlich
PHP2Shell-Angriffe haben zu mehr als 74.000 blockierten Exploit- oder Sondierungsversuchen geführt. Wordfence zufolge wurde jedoch auf den mehr als 5.000.000 geschützten WordPress-Websites bislang keine daraus resultierende Kompromittierung bestätigt. Das Unternehmen betrachtet das Ausbleiben bestätigter Fälle als Hinweis darauf, dass die Ausnutzung komplex ist, und nicht als Beleg dafür, dass ungepatchte Server sicher sind.
Das PHP-Projekt veröffentlichte am 21. Oktober 2026 Notfallupdates für zwei kritische Sicherheitslücken, CVE-2026-109618 und CVE-2026-109619. PHP ist die Programmiersoftware, mit der WordPress auf dem Hosting-Server ausgeführt wird. Websitebetreiber sollten PHP 8.5.12, 8.4.27, 8.3.36 oder 8.2.35 installieren oder ein Anbieterpaket verwenden, für das ausdrücklich bestätigt wurde, dass es beide Fixes enthält. Anschließend muss jeder PHP worker, also ein Serverprozess zur Verarbeitung von PHP-Anfragen, neu gestartet werden. Ein Update von WordPress aktualisiert PHP nicht.
Wordfence hatte Websitebetreiber bereits gewarnt, bevor die Fixes verfügbar waren, und anschließend die Details der Sicherheitslücken geprüft sowie gefährdete und gepatchte Releases getestet. Die firewall des Unternehmens hat seitdem Versuche abgefangen, die mit den beiden Schwachstellen in Verbindung stehen, sowie verwandte Angriffe auf dieselbe Angriffsfläche rund um PHP multipart und session-upload-progress. multipart-Anfragen teilen übermittelte Daten in mehrere Abschnitte auf, üblicherweise wenn ein Browser eine Datei hochlädt. PHP session upload progress ist eine Funktion, die den Status eines Uploads in temporären Sitzungsdaten speichert. Wordfence erklärt, seine Überwachung angesichts der weiteren Entwicklung der Bedrohung auszubauen.
Ein großer Angriffscluster sendet POST-Anfragen mit wiederholten Feldern namens t[n]. Wordfence bewertete diese Felder als Versuche, Speicherdruck zu erzeugen und zu beeinflussen, wie PHP Daten einer Anfrage im Speicher anordnet. Eingebettete Zeichenfolgen enthalten die Befehlsfunktion system und den Marker P2S_OK. Dies deutet auf eine beabsichtigte Stufe der remote code execution (RCE) hin, bei der ein Angreifer den Server Befehle ausführen lässt. Die Beispielanfrage enthielt 136 solcher Felder, wobei Wordfence 134 davon aus seinem veröffentlichten Beispiel entfernte. Die Befehle versuchten, Umgebungsvariablen anzuzeigen und die ersten 200 Bytes von .env, ../.env, ../../.env und wp-config.php auszulesen. Diese Dateien können Anwendungseinstellungen, Zugangsdaten für Datenbanken und andere Geheimnisse enthalten. Die Anfrage belegt eine entsprechende Absicht, beweist jedoch nicht, dass eine Speicherbeschädigung oder Befehlsausführung erfolgreich war.
Wordfence untersuchte außerdem 10.000 Ereignisse, die vom 20. bis zum 22. Oktober erfasst wurden. Die Stichprobe wurde anhand von Anfragen ausgewählt, die auf PHP_SESSION_UPLOAD_PROGRESS verwiesen, und ist daher nicht repräsentativ für den gesamten schädlichen Datenverkehr. Sie enthielt 3.752 offensichtliche P2S-RCE-Versuche mit out-of-memory oder state corruption, die darauf abzielten, Speicherzuweisungen zu beeinflussen, Befehle auszuführen und Konfigurationsdaten zu stehlen. Bei weiteren 1.139 Ereignissen kam eine gadget chain mit Laravel serialized object zum Einsatz, während 2.534 andere Payloads mit serialized object Monolog, Symfony, Guzzle, WordPress, ThinkPHP und weitere installierte Klassen einbezogen. Ein serialized object verpackt Anwendungsdaten in einem Format, das PHP rekonstruieren kann; eine gadget chain kombiniert vorhandene Anwendungsfunktionen, um eine unbeabsichtigte Aktion wie die Ausführung von Befehlen hervorzurufen.
Dieselbe Stichprobe umfasste 512 verwandte NxSP-Versuche, eine temporäre Sitzungsdatei zu manipulieren und dies mit einer separaten local-file-inclusion-Schwachstelle zu kombinieren, durch die eine Anwendung eine nicht vorgesehene lokale Datei laden kann. Weitere 30 Ereignisse waren out-of-band PHP upload canaries, also Test-Payloads, die einen Callback an einen externen Dienst auslösen sollen, falls eine andere Upload- oder Ausführungstechnik funktioniert. Die Kategorien können sich überschneiden, da die Gesamtzahlen für serialized object Eigenschaften der Payloads beschreiben. Der Datensatz enthält Anfragen, jedoch keine Serverantworten oder Daten von Endpoints. Er misst daher versuchte Ausnutzung und keine erfolgreichen Kompromittierungen.
Die Zuordnung bleibt wichtig. Wordfence zufolge stimmt der P2S- und serialized object-Datenverkehr mit Versuchen überein, das durch die PHP-Fixes behobene Verhalten für Angriffe nutzbar zu machen. Das NxSP session poisoning und die upload canaries verwenden denselben Bereich für multipart oder upload progress, setzen jedoch separate Sicherheitslücken oder ein bestimmtes Anwendungsverhalten voraus. Sie können daher nicht als bestätigte Ausnutzung von CVE-2026-109618 oder CVE-2026-109619 betrachtet werden.
Die beobachteten Befehle versuchen, die Ausführung mit P2S_OK, NxSP gefolgt von Zahlen oder SHL_OK zu bestätigen, Server mithilfe von id, uname -a und hostname zu profilieren und Geheimnisse aus Umgebungsvariablen, .env und wp-config.php zu stehlen. Andere Payloads durchsuchen übliche Verzeichnisse von Content-Management-Systemen und versuchen, eine persistente PHP command shell namens wp2s.php in beschreibbaren Upload-, Plugin- oder Theme-Ordnern abzulegen. Einige versuchen, über curl, wget und einen Befehlsinterpreter eine second-stage payload herunterzuladen und auszuführen. Andere nutzen eindeutige Hostnamen bei oast.pro, oast.fun und oast.online zur out-of-band-Verifizierung, wobei die Bestätigung über eine separate Netzwerkverbindung eingeht.
Zu den Indikatoren, nach denen Verteidiger suchen können, gehören P2S_OK, NxSP[0-9]+, SHL_OK, ADV618BOUNDARY, ----P2SB, wp2s.php, php2shell.php und axiom_*.php. In Payloads gefundene Objektnamen umfassen Illuminate\Broadcasting\PendingBroadcast, Monolog\Handler\BufferHandler und Requests_Utility_FilteredIterator.
Die 20 aktivsten Quelladressen und die jeweiligen Zahlen blockierter Versuche waren 87.121.84.174 (8.525), 181.215.186.252 (7.856), 185.196.220.132 (7.146), 185.161.210.29 (5.796), 152.233.51.69 (5.317), 45.134.225.16 (3.623), 107.189.14.87 (2.365), 193.47.62.24 (2.263), 2409:40d2:204e:4be:2a1f:f9c9:a055:e00b (1.953), 103.147.220.17 (1.860), 143.246.223.124 (1.791), 52.74.54.75 (1.260), 65.49.200.56 (836), 193.142.147.111 (775), 85.137.56.188 (672), 85.137.53.26 (664), 167.254.242.130 (648), 217.112.152.168 (619), 203.78.119.133 (616) und 140.245.32.169 (616).
Eine erfolgreiche Ausnutzung hängt weiterhin von der PHP-Konfiguration, dem Server Application Programming Interface (SAPI), das PHP mit der Webserver-Software verbindet, den geladenen Erweiterungen, den verfügbaren Anwendungsklassen und dem Zustand einzelner PHP worker ab. In einer speziell konfigurierten Apache-Laborumgebung mit PHP 8.5.11 bestätigte Wordfence bei Tests von CVE-2026-109619 die Ausführung von Code. Derselbe Proof of Concept brachte stattdessen einen normal optimierten Build von PHP 8.5.11 zum Absturz, während PHP 8.5.12 stabil blieb. Bei CVE-2026-109618 reproduzierte Wordfence unterschiedliches Verhalten zwischen gefährdeten und korrigierten Releases, konnte jedoch nicht unabhängig eine Codeausführung erreichen.
Die Bestätigung einer tatsächlichen Kompromittierung würde Belege aus Antworten, Dateien, laufenden Prozessen, Abstürzen von PHP worker, Abfragen des Domain Name System (DNS) oder ausgehenden Webverbindungen auf dem angegriffenen Server erfordern. Einige dieser Aktivitäten können außerhalb von WordPress und dessen Logs stattfinden, wodurch die Aussagekraft der Überwachung auf WordPress-Ebene eingeschränkt ist. Wordfence bittet Personen mit relevanten Artefakten, diese an [email protected] zu senden. Care- und Response-Kunden können das Incident-Response-Team kontaktieren; für Wordfence Response wird eine Verfügbarkeit rund um die Uhr an 365 Tagen im Jahr mit einer Reaktionszeit von einer Stunde angegeben.
Für Websitebetreiber, die eine verwaltete Umgebung bevorzugen, bietet AEU Hosting vollständig abgesichertes Managed WordPress Hosting an.