Am 21. Oktober ging ein großer Teil des Internets gleichzeitig in den Wartungsmodus. DeviantArt und Pokémon Home gingen offline. Wikimedia nahm viele der Dienste hinter Wikipedia vom Netz. Behörden in den Niederlanden, Finnland und Dänemark schalteten öffentliche Seiten ab, ebenso der Hafen Rotterdam und mehrere niederländische Krankenhäuser. Hosting-Anbieter fuhren über Nacht Notwartung und deaktivierten PHP-Funktionen auf Shared Servern, während sie auf Pakete warteten.

Die Ursache waren zwei kritische Fehler in der PHP-Laufzeit selbst: CVE-2026-109618 und CVE-2026-109619, beide mit CVSS 9,2 bewertet. Beide erlauben unauthentifizierte Codeausführung, und beide können den Speicher des Worker-Prozesses auslaufen lassen — also Passwörter, Session-Token und API-Schlüssel, die zu anderen Requests desselben Prozesses gehören.

Die Sperrfrist brach früh

Die CVE-IDs wurden zwei Tage vor der geplanten Veröffentlichung bekannt, weshalb das PHP-Team einen Tag früher auslieferte. Cloudflare meldete Angriffsverkehr, bevor der Fix überhaupt draußen war. CISA, die NSA, das britische NCSC und CERT-EU gaben dieselbe Anweisung aus: jetzt patchen, und wo das nicht möglich ist, PHP-Systeme offline nehmen oder vom öffentlichen Internet trennen, bis es möglich ist.

Warum es so breit streut

Laut W3Techs läuft PHP auf 69,3 Prozent der Websites mit bekannter serverseitiger Sprache. Am 21. Oktober lieferte Shodan 1.677.546 Servicedatensätze, die eine explizite PHP-Version auswiesen.

Weil der Fehler in der Laufzeit sitzt, ist jede Anwendung auf einem betroffenen PHP im Scope: WordPress, Drupal, Magento, Laravel und Eigenentwicklungen gleichermaßen. Die Warnung von CISA sprach das Unbequeme laut aus — PHP sei „oft Bestandteil anderer Software, und ihre Verbreitung ist möglicherweise nicht direkt beobachtbar“.

Die blinden Flecken sind die vertrauten. Admin-Panels lauschen auf Ports, die ein Scan von 80 und 443 nie berührt: 2083, 2087, 8080, 8443, 8880. Ein Host mit einer statischen Seite unter `/` kann trotzdem phpMyAdmin unter `/phpmyadmin/` oder Roundcube unter `/webmail/` betreiben. `expose_php = Off` oder eine CDN-Regel, die `X-Powered-By` entfernt, versteckt die Version genau vor den Werkzeugen, mit denen Menschen sie suchen. Firewalls und Hosting-Panels — pfSense, OPNsense, FreePBX, cPanel, Plesk — bringen ihr eigenes PHP mit, der eigentliche Fix kommt also als Herstellerupdate. Container-Images auf einem alten `php:`-Basisimage behalten dieses PHP, bis jemand sie neu baut. Und Staging-Kopien, von Agenturen gebaute Kampagnenseiten sowie vergessene übernommene Domains leben komplett außerhalb des Inventars.

Der Patch und der übersprungene Schritt

Die korrigierten Versionen sind PHP 8.2.35, 8.3.36, 8.4.27 und 8.5.12. PHP 8.1 und älter sind bis zurück auf 5.4 betroffen — diese Zweige müssen migriert oder von einem Herstellerpaket abgedeckt werden, das beide Fixes zurückportiert; PHP veröffentlichte minimale Quell-Backports für 7.4, 8.0 und 8.1.

Der Schritt, der untergeht: Das korrigierte Paket zu installieren ändert nichts an einem bereits laufenden Worker. Das alte Binary bedient weiter Requests, bis PHP-FPM, Apache und LiteSpeed neu gestartet werden. Der Remediation-Leitfaden von ProjectDiscovery formuliert die Prüfung unmissverständlich — nach dem Upgrade alle Prozesse auflisten, die noch einen auf der Platte ersetzten PHP-Build ausführen. Die Liste sollte nichts ausgeben.

Auch die Prioritäten zählen. php.net stuft Apache-`mod_php`-Hosts als höchstes Risiko ein, weil ein einziger unauthentifizierter Request den Angriff auslösen kann, bevor Anwendungscode läuft. Am anderen Ende: Ein offener Port 9000 ist ein PHP-FPM-Standardlistener für FastCGI; antwortet er aus dem Internet, gehört er geschlossen.

Auf ungepatchten Hosts vom Schlimmsten ausgehen

Die Speicherleck-Hälfte dieser Fehler ist der Teil, der den Ausfall überlebt. War ein betroffener Server vor dem Patchen aus dem Internet erreichbar, sollte die Arbeitsannahme lauten, dass im Worker-Speicher gehaltene Geheimnisse offengelegt wurden: Datenbankpasswörter, API-Schlüssel und Schlüssel zur Signatur von Sessions rotieren und nach Anzeichen einer Kompromittierung suchen, statt auf eines zu warten.

Begleitend zum Leitfaden startete ProjectDiscovery SecureTheWeb.org: ein Benachrichtigungsdienst, der Advisories gegen Chaos abgleicht — den internetweiten Index exponierter Dienste des Unternehmens — und die `security@`-Postfächer aller Domains anschreibt, die eine betroffene Version betreiben. Diese beiden CVEs sind das erste Ereignis des Dienstes, und die Mails gehen bereits raus. Das ist ein vernünftiges Modell für den nächsten Fall: Die Infrastruktur, die das Internet trägt, ist überwiegend alt, überwiegend unmanaged und selten dort verzeichnet, wo ein Security-Team sie sehen kann.