Am Mittwoch, 21. Oktober, um 16 Uhr unserer Zeit kam ein außerplanmäßiges Sicherheitsupdate für PHP. PHP ist die Programmiersprache, auf der die meisten Websites laufen — WordPress, Contao, die meisten Onlineshops. Die beiden Lücken haben in der Fachwelt schnell einen Spitznamen bekommen: PHP2Shell. Über sie kann ein Angreifer auf dem Server eigene Befehle ausführen, ohne sich anzumelden. Die Frage, die mich seither am häufigsten erreicht, ist nicht technisch, sondern organisatorisch: Wer ist bei meiner Website eigentlich dafür zuständig? Genau darum geht es hier — ohne Fachchinesisch, mit einem Selbstcheck, den Sie in fünf Minuten erledigt haben.
Was am 21. Oktober passiert ist
Die Entwickler von PHP haben zwei Schwachstellen geschlossen, die beide als kritisch eingestuft sind (9,2 von 10 Punkten). Ungewöhnlich war der Ablauf: Die Details waren schon vor dem Update im Netz aufgetaucht. Deshalb wurde nicht bis zum nächsten regulären Termin gewartet, sondern sofort repariert — und die US-Behörde für Cybersicherheit, CISA, hat noch am selben Tag zum sofortigen Einspielen geraten.
Repariert sind die Versionen 8.5.12, 8.4.27, 8.3.36 und 8.2.35. Wichtig für viele kleinere Websites: Für PHP 8.1 und ältere Versionen gibt es keine Reparatur mehr, weil diese Versionen keine Sicherheitsupdates mehr bekommen. Wer dort noch läuft, muss auf eine neuere Version wechseln.
Wie ernst das war: Auch in Österreich gingen Websites vom Netz
Wie ernst die Lage war, hat man am selben Tag in Österreich gesehen. Die Universität Wien, die TU Wien, die Niederösterreichischen Nachrichten, der Presseaussendungsdienst OTS und die Caritas haben ihre Websites vorsorglich vom Netz genommen oder stark eingeschränkt — nicht, weil sie angegriffen worden wären, sondern um bis zum Update kein Risiko einzugehen. Das österreichische CERT.at hat gewarnt, das deutsche Bundesamt für Sicherheit in der Informationstechnik hat die zweithöchste Warnstufe ausgerufen und empfohlen, Webserver notfalls vorübergehend abzuschalten, wenn das Update nicht sofort eingespielt werden kann (Bericht des ORF).
Bemerkenswert ist auch, wie die Lücken gefunden wurden: Sicherheitsforscher haben sie mit Hilfe einer KI aufgespürt — nach über zehn Jahren, in denen sie unentdeckt im Code steckten. Meine Einschätzung: Solche Funde werden häufiger. Und damit auch Abende, an denen jemand schnell reagieren muss.
Warum das Update Ihres Redaktionssystems nicht reicht
Viele Betriebe sind gut darin, die Updates von WordPress, Contao oder dem Shop-System einzuspielen. Das ist richtig und wichtig — hilft hier aber nicht. Die Lücke steckt nicht im Redaktionssystem, sondern eine Etage tiefer, in PHP selbst. Bildlich: Sie haben die Wohnungstür neu abgesperrt, aber das Haustor unten steht offen.
Ob Ihre Website betroffen ist, hängt deshalb nicht davon ab, wie sorgfältig Sie im Backend sind, sondern davon, wer den Server darunter pflegt — und ob diese Person am Mittwochabend reagiert hat.
Wer ist zuständig? Drei typische Fälle
Die ehrliche Antwort lautet bei den meisten Betrieben: Das hat nie jemand festgelegt. Es lohnt sich, das jetzt zu klären, solange es noch keinen Schaden gibt. Fast jede Website fällt in einen dieser drei Fälle.
- Gemietetes Webhosting (z. B. ein Paket mit Verwaltungsoberfläche). Der Hoster spielt die Updates für die PHP-Versionen ein, die er anbietet. Aber: Welche Version Ihre Website verwendet, wählen oft Sie in der Verwaltungsoberfläche aus — und dort steht nicht selten noch eine alte Version, weil „damals" etwas nicht lief. Die bekommt dann kein Update mehr.
- Ihre Agentur oder Ihr Webbetreuer betreibt die Website. Dann ist er zuständig — wenn es so vereinbart ist. Ein Betreuungsvertrag, der nur „Updates des Redaktionssystems" nennt, deckt PHP nicht automatisch ab. Fragen Sie nach.
- Eigener Server oder virtueller Server. Dann sind Sie selbst oder Ihr IT-Dienstleister zuständig. Niemand sonst spielt hier etwas ein.
Der Selbstcheck in fünf Minuten
Sie müssen kein Techniker sein, um herauszufinden, welche PHP-Version Ihre Website verwendet. Einer dieser Wege funktioniert fast immer:
- Verwaltungsoberfläche Ihres Hosters (Plesk, cPanel, KAS oder ähnlich): Dort gibt es meist einen Punkt „PHP-Einstellungen" oder „PHP-Version" je Domain. Steht dort 8.2, 8.3, 8.4 oder 8.5, fragen Sie den Hoster, ob die reparierte Unterversion eingespielt ist. Steht dort 8.1, 8.0 oder 7.x, ist Handlungsbedarf.
- WordPress: Im Dashboard unter „Werkzeuge" → „Website-Zustand" → „Bericht" → „Server" steht die PHP-Version.
- Contao: Im Contao Manager, der Verwaltung für Updates und Erweiterungen, steht die verwendete PHP-Version bei den Server-Einstellungen.
- Gar kein Zugang? Dann ist das der eigentliche Befund: Sie wissen nicht, wer Ihre Website technisch betreut. Klären Sie das zuerst.
- Ein Hinweis von außen: der Website-Check am Ende dieses Beitrags. Er greift nichts an und probiert nichts aus, er liest nur ganz normale Antworten Ihres Servers — und sieht nach, ob eine vergessene Testseite herumliegt (mehr dazu weiter unten). Findet er eine PHP-Version, vergleicht er sie mit den reparierten Versionen. Stammt sie aus einem Paket von Debian oder Ubuntu, heißt das Ergebnis „beim Hoster bestätigen lassen“, weil dort Reparaturen oft ohne neue Versionsnummer eingespielt werden. Findet er keine, meldet er „PHP-Version nicht sichtbar, nicht prüfbar“ — das zählt nicht gegen Sie, heißt aber auch nicht, dass Ihre Website sicher ist. Gewissheit gibt nur die Antwort Ihres Hosters oder Betreuers.
Drei Fragen, die Sie Ihrem Hoster oder Betreuer jetzt stellen
Eine kurze Mail genügt. Wer seine Arbeit macht, antwortet Ihnen innerhalb eines Tages, und zwar konkret.
- „Welche PHP-Version läuft auf meiner Website, und ist das Notfall-Update vom 21. Oktober (PHP2Shell) eingespielt?"
- „Wer ist bei uns vertraglich für PHP-Updates zuständig — Sie oder ich?"
- „Gibt es ein aktuelles Backup von gestern oder davor, und wurde das Zurückspielen schon einmal getestet?" Warum die letzte Frage so wichtig ist, steht im Beitrag über Backups, die im Ernstfall funktionieren.
Was ich bei meinen eigenen Websites gemacht habe
Die Websites, die ich betreibe — diese hier und die meiner Kundinnen und Kunden —, laufen in abgeschotteten Containern, deren Inhalt ich selbst zusammenstelle. Das hat einen praktischen Vorteil: Ein PHP-Update ist ein Neubau des Containers, den ich vorab teste und dann austausche. Am Tag nach dem Update liefen alle auf der reparierten Version 8.3.36.
Eine zweite Kleinigkeit habe ich bei der Gelegenheit gleich mit erledigt: Viele Server verraten in jeder Antwort ihre genaue PHP-Version, unsichtbar für Besucher, aber gut lesbar für automatische Scanner. Angreifer sehen so auf einen Blick, wer noch nicht aktualisiert hat. Das lässt sich mit einer einzigen Einstellung abschalten — es ersetzt kein Update, nimmt aber den Schaufensterplatz. Deshalb meldet auch der Website-Check bei meinen Seiten „PHP-Version nicht sichtbar, nicht prüfbar“ — von außen ist schlicht nichts zu erkennen, und genau so soll es sein.
Ein Klassiker, den ich bei fremden Websites immer wieder finde: eine Testdatei wie phpinfo.php oder info.php, die beim Einrichten angelegt und nie gelöscht wurde. Sie zeigt jedem Besucher die komplette Konfiguration des Servers samt PHP-Version — eine Einladung. Der Website-Check sieht unter den gängigen Namen nach und warnt eigens, wenn er so eine Seite findet. Die Lösung ist einfach: Datei löschen.
Was Sie daraus mitnehmen sollten
Ein Punkt wird gern vergessen: Das Update schließt die Tür, es wirft aber niemanden hinaus, der schon drinnen ist. Wer seine Website zwischen dem Bekanntwerden der Lücke und dem Update nicht abgesichert hatte, sollte seinen Betreuer bitten, nach Spuren eines Einbruchs zu sehen — unbekannte Dateien, neue Benutzerkonten, auffällige Fehler im Protokoll.
PHP2Shell wird nicht die letzte Notfall-Lücke gewesen sein. Entscheidend ist nicht, ob Ihr Betrieb so etwas technisch versteht, sondern ob jemand Bestimmter dafür zuständig ist — und ob er am selben Abend reagiert. Wenn Sie nach dem Lesen nicht sicher sagen können, wer das bei Ihnen ist, ist genau das die Aufgabe für diese Woche.
Wenn Sie wollen, sehe ich mir Ihre Website an und sage Ihnen, was ich von außen erkenne: Schreiben Sie mir zwei Sätze mit Ihrer Adresse. Für Betriebe, die unter die neuen Sicherheitspflichten fallen, lohnt außerdem der Blick in den Beitrag über NIS2 für kleine Betriebe.