Zum Hauptinhalt springen

Editionsgeschichte

Lesen
  1. 1
    Ausgabe 1

    Published content updated

Das Fenster der Verteidiger · Ausgabe 1

SHA-256: 10771e31f3c0f7e0f732a3c4fdadeb1e06c40a3e9f60172a0a9855e5303b1e4c

PHP2Shell: Wie KI half, alte Fehler in PHP aufzudecken, und warum Schweizer Anbieter ihre Dienste bewusst vom Netz nahmen.

Der Mittwoch, an dem die Websites verschwanden

Am Mittwoch, 21. Oktober, um 15:45 nahm der Basler Hoster cyon sein Webhosting vom öffentlichen Netz. My.cyon, Webmail, die Managed- und Agency-Server und der Sitebuilder gingen mit. Die Postfächer nahmen weiter Nachrichten an. Die Websites waren einfach weg.1

SRF nannte später die Grössenordnung. Cyon hostet über 100’000 Websites, für Vereine, KMU, private Blogs und Konzerne, und hatte sie alle für ein paar Stunden vom Netz genommen.2 Bexio, die Buchhaltungssoftware, mit der viele Schweizer Kleinbetriebe ihren Tag bestreiten, hatte schon um 11:08 am Vormittag pausiert.3 Der Kanton Basel-Stadt schaltete am Abend seine Websites ab. Teile der ETH Zürich taten dasselbe.45

Die Reaktionen kamen erwartungsgemäss. Warum geht ihr offline? Beweist das nicht schlechte Planung? Ist WordPress schuld? Hat die KI das Internet kaputtgemacht?

Die Fakten zeigen in die andere Richtung. Der Unterbruch war sichtbar. Der Einbruch, den er verhindern half, wäre es nicht gewesen.

KI-gestützte Forschung half, schwere Fehler aufzudecken, die seit Jahren in PHP steckten. Besonnenes Isolieren und Patchen half, einen echten Notfall zu bewältigen. Und wo die Offenlegung misslang, machten Menschen die Fehler, nicht die Technik, mit der man die Lücken fand.

Was tatsächlich kaputt war

Der Fehler lag unterhalb der Anwendung.

PHP ist die Sprache, auf der ein grosser Teil des Webs läuft. Am 21. Oktober veröffentlichte das PHP-Projekt die Versionen 8.5.12, 8.4.27, 8.3.36 und 8.2.35, um zwei kritische Schwachstellen zu schliessen. Beide sind nach CVSS v4.0 mit 9,2 von 10 bewertet. Die frühen Gerüchte von 10,0 waren falsch.67

Die erste, CVE-2026-109618, betrifft eine Speicherbeschädigung. Erreicht eine Anfrage genau im falschen Moment das Speicherlimit von PHP, kann PHP halb initialisierte Daten zurücklassen und sie später als gültig behandeln. Unter Apache mit mod_php lässt sich das ohne Anmeldung auslösen, bevor überhaupt Anwendungscode läuft. Die Ausführung von fremdem Code wurde mit Standardeinstellungen vorgeführt und unter PHP-FPM über Pfade in der Anwendung bestätigt.6

Die zweite, CVE-2026-109619, entsteht durch veralteten Zustand nach einem fatalen Fehler. Speicher, der zu einer Anfrage gehörte, kann von einer späteren Anfrage im selben Worker benutzt werden. Bestätigt sind ein Use-after-free und ein Absturz des Workers; der Melder führte zudem Codeausführung gegen eine reale Anwendung unter mod_php vor.6

Beide sitzen in der Speicherverwaltung und der Fehlerbehandlung, also dort, wo fast jede Anfrage vorbeikommt. Die Ursache liegt damit unter dem CMS, dem Theme, dem Plugin und dem meisten Anwendungscode. Das heisst nicht, dass jede Installation gleich angreifbar war. Das hängt von der Einbindung, den Versionen und den tatsächlichen Anfragepfaden ab.68

Fünf gestapelte Schichten von der Firewall am Rand bis zur Datenbank, die PHP-Laufzeit als Ursache hervorgehoben.
Der Fehler lag in der PHP-Laufzeit, unter WordPress und jeder anderen Anwendung. Filter am Rand konnten Anfragen blockieren; die Korrektur war das Update des Kerns. Quellen: PHP Foundation, Wiz, Cloudflare.

Wer eine Website betreibt, sollte WordPress, Themes und Plugins trotzdem wegen ihrer eigenen Lücken aktualisieren. Doch WordPress durch ein anderes PHP-Produkt zu ersetzen, hätte diese Fehler im Kern nicht beseitigt. Richtig war, die Laufzeit zu patchen und zu prüfen, nicht ein CMS an den Pranger zu stellen.68

Ein Problem, das man 2024 schon sah

Die aufschlussreiche Geschichte beginnt 2024, nicht an einem Mittwoch mit Ausfällen.

2024 wurde PHP zum ersten Mal seit Jahren extern auf Sicherheit geprüft. Die Sovereign Tech Agency bezahlte das Audit, Quarkslab führte es durch. Beim Beheben eines Befunds stiess ein PHP-Kernentwickler auf erste Anzeichen des Speicherproblems. Ein Angriff wurde durchgedacht, ein konkreter Weg aber nicht gefunden.6

Jede mögliche Korrektur hatte ihren Preis. Die eine brach die Abwärtskompatibilität. Die andere schuf neue Risiken für Denial-of-Service. Eine dritte verlangte Änderungen an Erweiterungen von Dritten, die kaum zu koordinieren schienen. Ein kleines Team, das im Konsens entscheidet, kam zu keinem Entschluss, und die Arbeit stockte und begann über Monate immer wieder von vorn.6

Die PHP Foundation hat das nicht beschönigt. Sie nannte die Verzögerung ein strukturelles Versagen, verursacht durch ihren Entscheidungsprozess und durch zu wenige Leute, die den Kern wirklich kennen.6 Sicherheitsarbeit heisst nicht: Fehler finden, eine Zeile ändern, ausliefern. Manche tiefen Fehler verlangen einen Umbau und sorgfältige Tests über mehrere Versionen.

Dann veränderte 2026 die Beweislage. Im Mai gründete die Foundation ein Ecosystem Security Team. Am 30. Juli begann die Sicherheitsfirma Calif im Programm Patch the Planet ein Audit von PHP. Am 11. August meldete der Calif-Forscher Ryan A eine bedingungslose Codeausführung mit derselben Ursache, und OpenAI meldete unabhängig davon dasselbe. Wiz meldete am 24. August eigene Angriffsketten. OpenAI lieferte am 18. September weitere Angriffswege.68

Zeitachse in sechs Etappen vom Warnsignal 2024 bis zur Wiederherstellung am 22. Oktober, ausdrücklich nicht massstäblich.
Vom Warnsignal 2024 bis zu den wiederhergestellten Schweizer Diensten am 22. Oktober 2026. Die Etappen sind nicht massstäblich. Quellen: PHP Foundation, Wiz, OpenAI, Statusseiten der Anbieter.

Die KI hat den fehlerhaften Code nicht geschrieben. KI-gestützte Forschung hat gezeigt, wie schwer und wie dringend ein Fehler war, den es längst gab.

Wo die KI half, und was sie nicht tat

KI-gestützte Analyse veränderte drei Dinge. Modelle halfen den Forschenden, sich in einer grossen, gewachsenen Laufzeit aus nativem Code zurechtzufinden, deren Fehlerbehandlung schwer zu durchschauen ist. Angriffsideen liessen sich über viele Konfigurationen schneller ausprobieren, verwerfen und testen. Und die Vorführungen machten das Risiko für die Release-Verantwortlichen greifbar: Aus einer theoretischen Speichergefahr wurde ein beobachteter Weg zur Codeausführung.689

Laut PHP Foundation nutzte Calif ein führendes Modell von OpenAI. Wiz beschreibt solche Modelle im Zusammenspiel mit erfahrenen Forschenden und eigenen Systemen. Die Maintainer berichten zudem von einem früheren Scan mit Claude Mythos von Anthropic und von Werkzeugen von OpenAI bei der Triage. Das war nicht das Wunder einer einzelnen Marke. Die Modelle erweiterten Fachteams. Sie ersetzten sie nicht.689

Was die KI nicht tat, zählt ebenso. Sie schrieb den verwundbaren Code nicht; der war Jahre alt. Sie entschied weder über die Triage noch über den Patch noch über die Kompatibilität. Laut Foundation traf jede Entscheidung ein Mensch, und an jedem Patch arbeitete ein Mensch.6 Sie schnürte keine Pakete für Distributionen, baute keine Firewall-Regeln und spielte bei Hostern nichts ein.109 Und sie bewies nicht, dass kein Angreifer früher Bescheid wusste.11

Fünf verbundene Karten: finden, prüfen, patchen, eindämmen, testen, jeweils mit den Verantwortlichen.
KI-gestützte Forschung beschleunigt das Finden. Menschen prüfen, patchen, dämmen ein und stellen wieder her. Quellen: PHP Foundation, ENISA, OpenAI, Cloudflare.

Der ehrliche Schluss lautet also nicht, dass KI die Verteidigung mühelos macht. Die KI erhöhte die Chance, dass Verteidiger ein altes, verborgenes Risiko finden und belegen. Sie senkt aber auch den Aufwand für Angreifer. Sichere Korrekturen in den Betrieb zu bringen, bevor billige Angriffsfähigkeit sich verbreitet, ist die Gestaltungsaufgabe des nächsten Jahrzehnts.

Das Fenster der Verteidiger

Ein leistungsfähiges Modell kann in Stunden einen brauchbaren Befund liefern. Eine weit verbreitete Laufzeit braucht Wochen, bis sie gepatcht, getestet, verteilt und eingespielt ist. Der Abstand zwischen diesen beiden Uhren ist das Fenster der Verteidiger.

Schliesst sich das Fenster, bevor die Betreiber eine praktische Korrektur haben, wird selbst ein verantwortungsvoll gemeldeter Befund zur akuten Gefahr. Der Fall PHP zeigt beides: den Wert einer frühen Warnung und wie zerbrechlich die Koordination wird, wenn eine Vorführung oder ein verräterisches Binärpaket das Embargo zu früh verlässt.69

OpenAI hat 1 Milliarde Dollar an vergünstigtem Zugang zu einem Sicherheitsmodell für Verteidiger an vorderster Front angekündigt. Das ist eine Zusage für die Zukunft. Es ist kein Geld, das bereits an die PHP Foundation geflossen oder für diesen Vorfall ausgegeben worden wäre.9

Ein guter Fund bemisst sich nicht daran, dass kein sichtbarer Notfall entsteht. Er bemisst sich an den künftigen Einbrüchen, die geprüfte Korrekturen verhindern. Die lassen sich schwerer zählen als Ausfälle, und man sollte keine erfundene Zahl daraus machen.

Vier Ereignisse, nicht ein Leck

Die koordinierte Veröffentlichung war auf Donnerstag, 22. Oktober, 14:00 UTC angesetzt. Am Dienstag, 20. Oktober, gegen 15:00 UTC, kursierten die beiden CVE-Nummern mit einer falschen Bewertung von 10,0. Technische Details sickerten nicht durch, und wer dieses erste Leck verursachte, ist bis heute unbekannt. PHP zog die Vorankündigung auf 19:30 UTC vor und verlegte die Veröffentlichung auf Mittwoch, 21. Oktober, 14:00 UTC.6

Gegen 20:00 UTC am selben Abend veröffentlichte Calif versehentlich ein Video, das seinen Proof of Concept gegen mehrere Ziele zeigte. Es wurde gelöscht, doch Kopien machten die Runde, und laut Foundation beschleunigte das Video die Entwicklung weiterer Vorführungen. Auch Hinweise zur Abwehr, die gegen 23:00 UTC an einige Betreiber kritischer Infrastruktur gingen, könnten durchgesickert sein.6

Am 21. Oktober um 07:41 UTC, mehr als sechs Stunden vor der Veröffentlichung, stellte Chainguard Container-Images mit den korrigierten Binärdateien online. Die Foundation kritisierte das: Nun konnte jeder die Korrektur studieren, während alle anderen warteten. Der Chef von Chainguard sagte, man habe bewusst früh veröffentlicht, und verwies auf Berichte über aktive Ausnutzung.612 Die Abwägung ist in beide Richtungen echt. Die Quellen entscheiden sie nicht.

Und das Threat-Intelligence-Team von Amazon fand in seinen Honeypots schon am 17. Oktober, was es als Angriffsversuch einstufte, also vor jedem öffentlichen Leck. Ob solche Versuche gegen echte Systeme funktioniert hätten, ist offen.11

Vier datierte Karten, die Honeypot-Signal, Leck unbekannter Herkunft, versehentliche Offenlegung und umstrittene Frühveröffentlichung trennen.
Vier getrennte Ereignisse: ein Angriffsversuch am 17. Oktober, ein erstes Leck unbekannter Herkunft, ein versehentliches Video und eine bewusste Frühveröffentlichung. Schweizer Zeit. Quellen: Amazon, PHP Foundation, TechTarget.

Das sind vier verschiedene Ereignisse mit vier verschiedenen Schlüssen. «Ein Mensch hat alles verraten» ist keine Erklärung von Ursachen. Und keines davon zeigt, dass die KI die Fehler selbst verursacht hat.

Dreissig Stunden in der Schweiz

Alle Zeiten in diesem Abschnitt sind Schweizer Sommerzeit (MESZ, UTC+2), so wie die Betreiber sie veröffentlicht haben. ENISA nennt für die korrigierten Versionen 13:40 UTC, also 15:40 Schweizer Zeit. Viele Anbieter richteten sich nach den angekündigten 16:00.101314

BetreiberErste dokumentierte MassnahmeLetzte dokumentierte Etappe
cyon20. Okt. 20:00 Hinweis; 21. Okt. 15:45 AbschaltungWebsites zurück um 22. Okt. 04:00
bexio21. Okt. 11:08 vorsorgliche PauseHauptdienste zurück 22. Okt. 07:57
Onlime21. Okt. 14:50 Geofence; 16:00 PauseAlle Server gepatcht und zurück 16:46
MvA21. Okt. 15:35 alle Webserver getrenntPHP 7.4–8.5 online 21:44; Plesk am Folgetag
hosttech20. Okt. automatische Massnahmen von Imunify360Keine allgemeine Abschaltung; Patchen über Nacht
METANET21. Okt. 10:30 Hinweis, vorübergehende HärtungManaged, Shared und Reseller gepatcht bis 22. Okt.
Green21. Okt. 18:05 kontrollierte WartungWartung beendet 06:05; alle Patches 10:16

Das ist ein Register dessen, was die Betreiber öffentlich sagten, keine Rangliste.11531617181920142122 Die Betreiber haben unterschiedliche Produkte, Supportmodelle und alte PHP-Versionen. Eine kurze Abschaltung beweist keinen besseren Schutz. Online zu bleiben beweist keine Nachlässigkeit.

Als Balken gezeichnet, sehen die Fenster wie eine Rangliste aus: bexio 20 h 49 min, cyon rund 12 h 15 min, MvA 6 h 09 min für seine PHP-Webserver, Onlime rund 46 Minuten.13162014 Sie sind keine. Bexio ist eine Geschäftsanwendung. Cyon betreibt eine grosse geteilte Hosting-Landschaft. MvA hatte Pakete nach PHP-Version gestaffelt. Onlime hatte vorher schon einen Geofence gesetzt. Ein kürzerer Balken ist keine Sicherheitsauszeichnung, ein längerer keine Fahrlässigkeit.

Vier waagrechte Balken über den 21. und 22. Oktober für bexio, cyon, MvA und Onlime.
Öffentlich dokumentierte Fenster, Schweizer Zeit: bexio 20 h 49 min, cyon rund 12 h 15 min, MvA 6 h 09 min, Onlime rund 46 min. Verschiedene Dienste und Definitionen; keine Rangliste. Quellen: Statusseiten der Anbieter.

Vom Netz gehen, online bleiben

Das Statusprotokoll von bexio eröffnet den Notfall um 11:08 und nennt die kritische PHP-Bedrohung. Betroffen waren Website, Office, Cockpit, Lohn, API und Bankfunktionen. Der Vorfall wurde am nächsten Morgen um 07:57 geschlossen, das Update war eingespielt. Später erklärte die Firma, ihre eigenen Prüfungen hätten keinen unberechtigten Zugriff ergeben. Das ist die Aussage des Betreibers, keine unabhängige Prüfung.31623

Cyon wartete auf Sicherheitspakete, die auf die eigene Infrastruktur abgestimmt waren, samt Backports für ältere PHP-Versionen, statt die Quelltext-Releases als Grund zum Wiederanlaufen zu nehmen.115 Gründer David Burkhardt sagte gegenüber SRF, die Massnahme sei drastisch gewesen, aber eine Abwägung: Bei gehackten Websites stünden Jobs auf dem Spiel, Kundendaten könnten abfliessen, ganze Systeme zerstört werden.2

Onlime beschränkte um 14:50 den Webzugriff auf die Schweiz, Liechtenstein und Österreich, nahm um 16:00 die Webserver vom Netz, patchte zwischen 16:20 und 16:45 und war um 16:46 wieder vollständig online.1421 MvA trennte um 15:35 alle Webserver. Aktuelle PHP-Versionen kamen ab 18:17 zurück, ältere um 21:44, die Plesk-Oberflächen erst am Folgetag.20 Der eine hatte eine schnelle Paketquelle. Der andere wartete auf Backports für alte Versionen. Keiner von beiden beweist, dass eine Finanzanwendung in 46 Minuten zurück sein müsste.

Andere blieben online. Hosttech sagt, sein Werkzeug Imunify360 habe am 20. Oktober automatisch Schutzmassnahmen gesetzt, die offiziellen Korrekturen seien ab etwa 16:00 am 21. Oktober eingespielt und über Nacht abgeschlossen worden, ohne allgemeine Abschaltung. Hosttech hält auch fest, dass eine zusätzliche Schutzschicht kein Update der Laufzeit ersetzt.17 METANET härtete zuerst die Servereinstellungen und patchte dann in Etappen, teils wartend auf Pakete von CloudLinux.1819 Green fuhr ein 12-stündiges Wartungsfenster von 18:05 bis 06:05 und bestätigte die letzten Patches um 10:16. Erwartet wurden kurze Unterbrüche einzelner Systeme, kein Ausfall von 12 Stunden.22 Ein Wartungsfenster ist keine Ausfallzeit.

Öffentliche Institutionen standen vor derselben Wahl. Der Krisenstab von Basel-Stadt entschied am Mittwochabend, die kantonalen Websites abzuschalten. Am nächsten Tag um 11:45 kehrten gepatchte Seiten zurück, und es war kein sicherheitsrelevanter Vorfall registriert.4 Die zentrale Website der ETH Zürich und Staffnet waren nicht direkt betroffen; einzelne WordPress- und andere PHP-Seiten von Einheiten mussten abgeschaltet und behoben werden.5 «Bisher kein Vorfall registriert» ist eine datierte Beobachtung, kein forensischer Beweis.

Versuche sind keine Einbrüche

Amazon verzeichnete am 17. Oktober einen mutmasslichen Versuch und am 21. Oktober weitere aus mehr als einer Quelle, teils vor der breiten Veröffentlichung. Ob diese Angriffe gegen echte Ziele Erfolg hätten, sei unklar.11

Imperva zählte in den ersten 24 Stunden 482’342 Anfragen, 122’311 Angriffssitzungen, 21’998 angegriffene Websites und 103 Länder.13 Das ist automatisierte Aufmerksamkeit in echtem Umfang. Es ist keine Zahl von Einbrüchen, und Imperva sagt das selbst.

Cloudflare schaltete am 21. Oktober um 03:02 UTC Standardschutz für seine Firewall-Kunden ein und sah zu, wie Angreifer ihre Angriffe abwandelten, um daran vorbeizukommen. Die Botschaft ist klar: PHP trotzdem patchen.24

Für die Schweiz sagte das Bundesamt für Cybersicherheit am 22. Oktober gegenüber SRF, ihm seien keine Angriffe in der Schweiz bekannt, die diesen Schwachstellen zugeordnet werden könnten, und warnte, unerkannte oder nicht gemeldete Fälle könnten noch auftauchen.2 «Keine bekannten Fälle» heisst nicht «null Einbrüche».

Die anderen Schweizer Zahlen verlangen dieselbe Sorgfalt. Die «über 100’000 Websites offline» von SRF sind der Bestand von cyon, keine Zählung aller Schweizer Websites.2 Am 22. Oktober um 05:37 zeigte ein öffentlicher Scanner 16’128 von 466’383 Schweizer Websites als betroffen an, 3,5 Prozent. 437’288 landeten in einem einzigen Topf mit der Aufschrift gepatcht oder kein PHP, der zwei sehr verschiedene Zustände vermischt.25 Und der PHP-Anteil von 69,3 Prozent bei W3Techs gilt nur für Websites, deren serverseitige Sprache es erkennt. In Nacherzählungen wurde daraus «70 Prozent des Internets waren verwundbar».26

Vier Karten: Schwere 9,2 von 10, über 100’000 cyon-Websites, 482’342 Anfragen, 69,3% Anteil von PHP.
Vier Zahlen, vier verschiedene Grundgesamtheiten: Schweregrad, gehostete Websites von cyon, von Imperva beobachtete Anfragen, Anteil von PHP an Websites mit bekannter Sprache. Quellen: PHP Foundation, SRF, Imperva, W3Techs.

Es gibt keinen ehrlichen Schaden für das ganze Land in Franken, keine Zahl gehackter Schweizer Websites und keinen Sicherheitssieger unter ungleichen Diensten. Diese Unbekannten sind ein Forschungsprogramm, keine Lücken zum Auffüllen.

Warum WordPress beschuldigt wurde

WordPress ist so verbreitet, dass ein PHP-Problem als eine WordPress-Seite erscheint, die nicht läuft. Man sieht die Anwendung, nicht den Interpreter darunter. Der Ruf, das CMS zu verlassen, ist darum verständlich. Technisch ist er falsch. Wiz zeigte die Angreifbarkeit an WordPress, Drupal und Joomla, während der Fehler im PHP-Kern lag.8 Auch eine gut gepflegte Anwendung kann auf einer ungepatchten Laufzeit laufen.

Die bessere Frage ist nicht, welches CMS nie Lücken hat. Das kann keines versprechen. Sie lautet: Wer ist für die unteren Schichten zuständig, wie schnell wird gepatcht, werden ältere Versionen mitgetragen, welcher Schutz am Rand und welche Notfallpläne bestehen, und wie wird kommuniziert, wenn eine Abhängigkeit versagt? WordPress auf gut betreutem PHP kann weniger Risiko tragen als ein Eigenbau auf vernachlässigtem Unterbau.

Eine Firewall verschafft Zeit; sie ersetzt die Korrektur nicht.24 Und «Es wurde nichts gemeldet, also war es übertrieben» verwechselt das Fehlen eines beobachteten Einbruchs mit dem Fehlen einer Gefährdung.

Vier irreführende Behauptungen, jede mit dem, was die Belege zeigen.
Vier verbreitete Kurzschlüsse, korrigiert: Die KI schuf den Fehler nicht, WordPress war nicht sein Ursprung, offline gehen ist für sich keine Fahrlässigkeit, und verdächtige Anfragen sind keine Einbrüche. Quellen: PHP Foundation, Wiz, ENISA, Imperva.

Wie man einen Anbieter fair beurteilt

Einen Unterbruch kann man in Minuten, verlorenen Verkäufen und verspäteten Rechnungen messen. Die Angriffe, die nicht stattfanden, weil ein System isoliert war, misst man kaum. Dieses Ungleichgewicht drängt das öffentliche Urteil dahin, Eindämmung für Versagen zu halten und unsichtbares Risiko für Können.

Wer einen Tag lang keine Rechnungen stellen konnte, hat echten Schaden erlitten. Doch ein Anbieter, der seine Kunden wissentlich einer Übernahme ihrer Server ohne Anmeldung aussetzte, nur um diesen Unterbruch zu vermeiden, hätte weit Schlimmeres anrichten können. ENISA und ihre europäischen Partner rieten zur vorübergehenden Trennung vom öffentlichen Netz, wo Patches nicht rasch einzuspielen waren.10

Ein Anbieter mit glaubwürdigem, mehrschichtigem Schutz kann zu Recht online bleiben, wie hosttech berichtet. Ein Anbieter ohne geprüften Schutzschild oder mit offen liegenden alten Laufzeiten kann zu Recht vom Netz gehen, wie cyon und bexio.101317 Das Versagen liegt darin, blind zu wählen oder «geschützt» zu behaupten, ohne eine Erklärung, die sich prüfen lässt.

Die Frage lautet also nicht «Warum seid ihr vom Netz gegangen?», sondern «Welche sicherere Alternative hattet ihr, und wie schnell habt ihr die Korrektur geprüft?». Man frage nach dem letzten bekannten Zeitpunkt der Gefährdung, nach dem Schutz vor dem Patch, nach der Herkunft der Pakete, nach der Art der Prüfung, ob alte Worker neu gestartet wurden, welche Kunden betroffen waren und was die Protokolle danach zeigten. Die Dauer des Ausfalls ist eine Zeile in dieser Prüfung, nicht ihre Schlussnote.

Für die nächste Krise braucht es das als stehendes Drehbuch: eine Zuordnung jeder Anwendung zu ihrer PHP-Laufzeit, eine Notiz, wer die Isolation wann und warum beschloss, geprüfte Backport-Kanäle für ältere Versionen, Protokolle aus der Zeit vor dem ersten bekannten Angriffsversuch und eine öffentliche Nachbetrachtung nach Komponenten.61018

Zwei Budgets, nicht eines

Die Chronik von PHP ist ein ungewöhnlich offener Fall öffentlicher digitaler Infrastruktur, die von zu wenigen Menschen getragen wird. Ein Fehler in komplexer Software ist nichts Aussergewöhnliches. Beunruhigen sollte alle, die von PHP abhängen, wie ein Sicherheitsproblem an Kompatibilitätsfragen hängen bleiben konnte, während der Wert, der darauf aufgebaut wird, weiter wuchs. Die Foundation bittet Firmen, Hosting-Plattformen und öffentliche Stellen, ihre Sicherheitsarbeit im Mass ihrer Abhängigkeit zu finanzieren.6

Die KI hat nicht einfach gefunden, was Menschen übersehen hatten. Sie hat das Tempo der Funde erhöht und ein Missverhältnis bei der Kapazität zum Beheben offengelegt. Die Foundation veröffentlichte seit dem 1. Juli 15 CVEs und arbeitete sich durch mehr als 100 Meldungen, die ungültig, doppelt oder nicht nachvollziehbar waren.6 Das ist ein echtes Kapazitätsproblem, keine Fussnote.

Ein ernsthaftes Programm hat darum zwei Budgets. Das eine bezahlt Zugang zu Modellen und Sicherheitsforschung. Das andere bezahlt Maintainer, Testinfrastruktur, die Abstimmung mit den Distributionen und unabhängige Prüfung. Das eine ohne das andere füllt nur einen Posteingang.

Methode und Grenzen

Diese Field Note beruht auf öffentlichen Quellen, wie sie am 23. Oktober 2026 gegen Mittag Schweizer Zeit vorlagen: Aussagen der Maintainer, Warnungen von Behörden, Telemetrie von Anbietern, Statusseiten und Berichterstattung. Sie scannt keine Systeme, stellt keine Angriffe nach, untersucht keine Einbrüche und zertifiziert keinen Anbieter. Aussagen von Betreibern werden als deren eigene Darstellung wiedergegeben. Statusfenster, Wartungsfenster und Ausfallzeiten bei Kunden bleiben getrennt.

Offen bleibt: wer das erste Leck am 20. Oktober verursachte; ob die Versuche vom 17. Oktober Systeme im Betrieb erreichten; wie viele Einbrüche, falls überhaupt, bestätigt sind; welche Ausfallzeit einzelne Kunden tatsächlich erlebten; und ob die frühe Veröffentlichung von Chainguard mehr Menschen schützte, als sie gefährdete.61112 Eine Aussage, die Marcel Salathé auf LinkedIn zugeschrieben wird, ist hier nicht zitiert, weil sich der ursprüngliche Beitrag nicht überprüfen liess. Sollten geprüfte Zahlen zu Einbrüchen oder Nachbetrachtungen der Anbieter erscheinen, gehören sie in einen datierten Nachtrag, nicht in eine stille Überarbeitung.

Der Ausfall war sichtbar

Das erste Missverständnis dieser Krise ist, einen bewusst abgeschalteten Dienst für einen wehrlosen zu halten und einen, der online blieb, für einen sichereren. Das zweite ist, aus einer KI-gestützten Offenlegung zu schliessen, die KI habe den Fehler geschaffen. Das dritte ist, über WordPress zu reden, wenn der verwundbare Code in PHP selbst lag.6108

Die schwierigere Wahrheit ist die interessantere. Fachleute sahen die Warnzeichen zwei Jahre vor der Krise, doch ihnen fehlten der Angriffsweg und die Kapazität, eine schwierige Korrektur zu Ende zu bringen. KI-gestützte Verteidiger machten aus dem undurchsichtigen Risiko einen Beleg. Menschen bauten und lieferten die Patches. Hoster und Behörden entschieden, wer online bleiben sollte, während sich die Korrekturen verbreiteten. Und Menschen machten Fehler bei der Offenlegung, während Angreifer vielleicht schon tasteten.691112

Maschinen haben kein hilfloses Internet gerettet, und sie haben kein sicheres ruiniert. Das Finden wird schneller, die Abstimmung schwieriger, und kompetente menschliche Verantwortung wird mehr wert, nicht weniger. Die Antwort ist nicht der Rückzug von der KI. Sie besteht darin, KI-gestützte Verteidigung so gut zu finanzieren und zu führen, dass sich das nächste Fenster der Verteidiger öffnet, bevor die Lichter ausgehen müssen.

Eine verantwortungsvolle Abschaltung ist ein Akt des Schutzes, kein Beweis des Versagens.

Quellen

Footnotes

  1. cyon (2026-10-20/22): 21.10.2026 | Information zu potenziellen PHP-Sicherheitslücken. status.cyon.info ↩ ↩2 ↩3 ↩4 ↩5

  2. Schweizer Radio und Fernsehen (SRF) (2026-10-22): Über 100’000 Schweizer Webseiten offline. www.srf.ch ↩ ↩2 ↩3 ↩4

  3. bexio (2026-10-21/22): Security update: bexio temporarily paused. bexio.statuspage.io ↩ ↩2 ↩3 ↩4 ↩5

  4. Kanton Basel-Stadt (2026-10-22): UPDATE: Kantonale Webseiten und Applikationen sukzessive wieder. www.bs.ch ↩ ↩2

  5. ETH Zürich (2026-10-22): Critical PHP security vulnerability: ETH Zurich has taken immediate action. ethz.ch ↩ ↩2

  6. The PHP Foundation (2026-10-21): Today’s PHP Security Release, and How We’re Strengthening PHP Security. thephp.foundation ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10 ↩11 ↩12 ↩13 ↩14 ↩15 ↩16 ↩17 ↩18 ↩19 ↩20 ↩21 ↩22

  7. PHP Group (2026-10-21): PHP security release announcement and releases. www.php.net ↩

  8. Wiz Research (2026-10-21): PHP2Shell: AI uncovers critical RCE vulnerabilities. www.wiz.io ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7

  9. OpenAI (2026-10-21): Patch the Planet: global response coordination. openai.com ↩ ↩2 ↩3 ↩4 ↩5 ↩6

  10. ENISA; EU Commission; CERT-EU et al. (2026-10-21): Joint statement on critical PHP vulnerabilities. www.enisa.europa.eu ↩ ↩2 ↩3 ↩4 ↩5 ↩6

  11. Amazon Web Services Security (2026-10-21): Amazon Threat Intelligence identifies PHP2Shell exploitation prior to public disclosure in MadPot. aws.amazon.com ↩ ↩2 ↩3 ↩4 ↩5

  12. TechTarget (2026-10-22): PHP2Shell disclosure unravels after leaks forced early patch drop. www.techtarget.com ↩ ↩2 ↩3

  13. Imperva (2026-10-22): PHP2Shell: Early Attack Activity Through Imperva’s Lens. www.imperva.com ↩ ↩2

  14. Onlime (2026-10-21): Geo-Fencing / Critical PHP Security Release. www.onlime.ch ↩ ↩2 ↩3 ↩4

  15. VStA, quoting cyon customer communication (2026-10-22): Website Ausfall 21.10.2026, 16 Uhr bis 22.10.2026, 04 Uhr. www.vsta.ch ↩ ↩2

  16. IsDown archive of bexio status (2026-10-22): bexio Security update: temporarily paused. isdown.app ↩ ↩2 ↩3

  17. hosttech (2026-10-22): PHP-Sicherheitslücken: Was passiert ist und was du jetzt tun kannst. www.hosttech.ch ↩ ↩2 ↩3

  18. METANET (2026-10-22): PHP-Sicherheitsupdates abgeschlossen: So ist METANET vorgegangen. www.metanet.ch ↩ ↩2 ↩3

  19. METANET status (2026-10-21): Wichtige PHP-Sicherheitsinformation. status.metanet.ch ↩ ↩2

  20. MvA Internet Services (2026-10-21): 21.10.2026 – Kritische PHP-Sicherheitslücken. www.mva.ch ↩ ↩2 ↩3

  21. Onlime (2026-10-22): PHP2Shell: kritische PHP-Sicherheitsupdates erfolgreich eingespielt. www.onlime.ch ↩ ↩2

  22. Green (2026-10-21/22): Wartungsarbeiten aufgrund aktueller PHP-Sicherheitslücken. status.green.ch ↩ ↩2

  23. bexio (2026-10-22): bexio wieder verfügbar. www.bexio.com ↩

  24. Cloudflare (2026-10-21): Cloudflare deploys protections against php2shell vulnerability. blog.cloudflare.com ↩ ↩2

  25. PHP2Shell Lagebild / Risikomonitor (2026-10-22): PHP2Shell-Lagebild Schweiz, snapshot 05:37:38 CEST. php.risikomonitor.com ↩

  26. W3Techs (2026-10-23): PHP vs. static files usage statistics, October 2026. w3techs.com ↩