PHP-Schwachstellen ermöglichen Codeausführung auf WordPress
Zwei kritische PHP-Schwachstellen können WordPress-Websites für remote code execution anfällig machen. Das bedeutet, dass ein Angreifer den zugrunde liegenden Dienst der Website Befehle ausführen lassen kann, ohne sich vorher anzumelden. PHP, die Programmiersprache, in der WordPress hauptsächlich geschrieben ist, veröffentlichte am 21. Oktober 2026 Notfall-Sicherheitsupdates. Die Schwachstellen CVE-2026-109618 und CVE-2026-109619 haben jeweils einen CVSS-v4.0-Wert von 9,2 von 10. CVSS, das Common Vulnerability Scoring System, ist eine Standardskala zur Bewertung des Schweregrads von Sicherheitsproblemen.
Es handelt sich nicht um Schwachstellen in WordPress Core, Plugins oder Themes. Sie betreffen den PHP-Dienst, der den Website-Datenverkehr verarbeitet, sodass die Installation eines WordPress-Updates sie nicht behebt. Die ersten korrigierten PHP-Versionen sind 8.5.12, 8.4.27, 8.3.36 und 8.2.35. Linux-Distributionen und Anbieter von Langzeitunterstützung können dieselben Korrekturen in Pakete integrieren, die ältere Hauptversionsnummern beibehalten. Administratoren müssen daher die vollständige Paketrevision prüfen, die den genauen Build des Anbieters kennzeichnet, und dessen Sicherheitshinweis lesen, statt sich allein auf die PHP-Hauptversion zu verlassen.
Beide Schwachstellen können ohne Authentifizierung ausgenutzt werden. Bei erfolgreicher Ausnutzung erhält ein Angreifer dieselben Zugriffsrechte wie die Website selbst. Abhängig von diesen Rechten könnte der Angreifer Zugangsdaten für die Datenbank lesen, Website-Dateien verändern, Daten stehlen oder eine dauerhafte backdoor installieren, also einen verborgenen Zugang, der auch nach dem ursprünglichen Eindringen bestehen bleiben soll. PHP hat remote code execution für beide Schwachstellen bestätigt. Außerdem bestätigte PHP einen Angriffsweg für CVE-2026-109618, der funktioniert, bevor WordPress ausgeführt wird. Damit liegt er außerhalb des Schutzes, den ausschließlich innerhalb von WordPress eingesetzte Kontrollen bieten.
Bei CVE-2026-109618 verarbeitet PHP Daten fehlerhaft, wenn eine Anfrage dazu führt, dass der verfügbare Arbeitsspeicher erschöpft wird. Die daraus entstehende Speicherbeschädigung kann es einem nicht authentifizierten Angreifer ermöglichen, Code auszuführen. CVE-2026-109619 betrifft einen veralteten Worker-Status: Ein PHP-Worker, also einer der laufenden Prozesse zur Bearbeitung von Anfragen, kann weiterhin Daten aus einer bereits abgeschlossenen Anfrage verwenden, die hätten verworfen werden müssen. Eine spätere Anfrage, die von demselben Worker verarbeitet wird, kann die beibehaltenen Daten zur Ausführung von Code nutzen.
Wordfence Threat Intelligence untersuchte die PHP-Patches und testete das anfällige Verhalten in PHP- und WordPress-Laborumgebungen. In einem speziell konfigurierten Apache-Testsystem mit PHP 8.5.11 nutzte ein proof of concept, also ein Test zum Nachweis der Funktionsfähigkeit einer Schwachstelle, CVE-2026-109619 über eine HTTP-Webanfrage aus und erstellte eine temporäre Textdatei. Damit wurde die Codeausführung in der Testumgebung bestätigt. Derselbe Test brachte einen normalen optimierten Build von PHP 8.5.11 zum Absturz, anstatt Code auszuführen, während das korrigierte PHP 8.5.12 stabil blieb.
Bei Tests zu CVE-2026-109618 schlug das anfällige PHP 8.5.11 fehl, während PHP 8.5.12 dieselbe proof-of-concept-Anfrage normal verarbeitete. In separaten Tests wurde WordPress 7.1.3 mit einem betroffenen Ubuntu-Paket von PHP 8.5.4 verwendet. Speziell vorbereitete Anfragen führten in einigen Konfigurationen zu PHP-Ausfällen oder Neustarts, Wordfence gelang es bei dieser Schwachstelle jedoch nicht unabhängig, Code auszuführen. Die Tests begannen innerhalb weniger Stunden nach Veröffentlichung der Korrekturen und wurden für weitere Angriffswege und verbreitete WordPress-Hosting-Konfigurationen fortgesetzt.
Die unterschiedlichen Ergebnisse bedeuten nicht, dass ein ungepatchtes System sicher ist. Die Ausnutzung muss möglicherweise an einen bestimmten Server angepasst werden. CrowdStrike berichtet, dass sein privater Exploit sowohl auf Intel- und AMD-Systemen als auch auf Arm-Systemen zuverlässig funktionierte, einschließlich gegen neu gestartete PHP-Worker. Wordfence hat diesen nicht veröffentlichten Exploit jedoch nicht unabhängig getestet. Öffentlicher proof-of-concept-Code und technische Kommentare sind bereits im Umlauf, doch Wordfence warnt, dass einige Beispiele unvollständig, irreführend oder falsch sind. Website-Betreiber sollten den offiziellen Sicherheitshinweisen von PHP folgen, statt abzuwarten, ob ein öffentlicher Exploit gegen ihren konkreten Server funktioniert.
PHP 8.1 und ältere Versionen erhalten vom PHP-Projekt keine neuen Releases mehr. Einige Anbieter von Betriebssystemen und Langzeitunterstützung stellen die Korrekturen möglicherweise weiterhin für diese Versionszweige bereit. Wer eine ältere Version verwendet, sollte sich vom Anbieter ausdrücklich bestätigen lassen, dass beide Schwachstellen behoben wurden, oder zu einem unterstützten PHP-Versionszweig wechseln. Nach der Installation eines korrigierten Pakets muss PHP neu gestartet werden, damit jeder laufende Prozess den neuen Code lädt. Ein container, also eine isolierte und zusammen mit ihren Abhängigkeiten paketierte Softwareumgebung, sollte aus einem aktualisierten Image neu erstellt und bereitgestellt werden, statt lediglich mit seinen alten Dateien neu gestartet zu werden.
WordPress-Administratoren können die von der Website verwendete Version unter Werkzeuge, Website-Zustand, Bericht und anschließend Server überprüfen. Die Prüfung über die Befehlszeile mit „php -v“ reicht allein nicht aus, weil die Website eine andere PHP-Installation verwenden kann. Kunden von Managed-Hosting-Angeboten sollten nachfragen, ob der PHP-Dienst für ihre Website gegen beide CVEs gepatcht und anschließend neu gestartet wurde. Betreiber selbst verwalteter Systeme müssen PHP aktualisieren und Apache, PHP-FPM – einen Dienst, der PHP für Webserver ausführt – oder jeden anderen PHP-Dienst neu starten. Agenturen und Hosting-Anbieter sollten öffentlich erreichbare Websites, für Tests verwendete Staging-Kopien, hinter zwischengeschalteten Diensten erreichbare Ursprungsadressen und ältere container überprüfen.
Als Vorsichtsmaßnahme sollten Administratoren Backups aufbewahren und Webserver-, PHP-, firewall- und System-Logs sichern, die mindestens den Zeitraum von 48 Stunden vor der Veröffentlichung am 21. Oktober bis zu dem Zeitpunkt abdecken, an dem PHP gepatcht und neu gestartet wurde. Bei Websites, die verspätet aktualisiert wurden, sollten diese Aufzeichnungen auf ungewöhnliche Aktivitäten untersucht werden. Das Fehlen offensichtlich verdächtiger Einträge beweist nicht, dass keine Ausnutzung stattgefunden hat. Die vorläufigen Empfehlungen von PHP können die Gefährdung durch bestimmte Angriffswege reduzieren, wenn ein sofortiges Patchen nicht möglich ist. Sie sind jedoch unvollständig, können normale Website-Funktionen beeinträchtigen und ersetzen das Update nicht.
Wordfence gibt an, dass seine firewall auf dem WordPress application layer arbeitet und WordPress-spezifische Angriffe blockieren kann, die allgemeine Werkzeuge möglicherweise nicht erkennen. Diese PHP-Schwachstellen bestehen auf dem server layer, und manche Ausnutzungsversuche können beginnen, bevor WordPress startet. Daher sind auch Sicherheitskontrollen für PHP, den Webserver, das Betriebssystem und den network edge erforderlich, also den Punkt, an dem externer Datenverkehr in die Infrastruktur gelangt. Für Leser, die prüfen, wo ihre Website betrieben wird: AEU Hosting ist der Managed-WordPress-Hosting-Dienst der AEU Group und wird als durchgängig abgesichert beschrieben.
Eine vollständig aktualisierte WordPress-Installation kann weiterhin gefährdet sein, bis der dahinterliegende PHP-Dienst beide Korrekturen erhalten hat und neu gestartet wurde. Wordfence erklärt, dass Kunden seiner Dienste Care und Response das Incident-Response-Team kontaktieren können, wenn sie eine Kompromittierung vermuten. Wordfence Response gibt eine ganzjährige Verfügbarkeit rund um die Uhr und eine Reaktionszeit von einer Stunde an. Die wesentliche Maßnahme bleibt für jede betroffene Website gleich: ein korrigiertes PHP-Paket installieren, den Dienst neu starten und die genaue Version des Pakets überprüfen, das die Website-Anfragen tatsächlich verarbeitet.