Eingabehilfen öffnen
Zum Hauptinhalt springen
22. Oktober 2026
Beitrag von: Enrico Gemsa

PHP2Shell hat gezeigt, wie schnell eine Website angreifbar wird

Was war PHP2Shell, und wie gefährlich war die Lücke für Websites?

PHP2Shell ist der Name für zwei kritische Sicherheitslücken in PHP, die am 21. Oktober 2026 geschlossen wurden. Über sie konnten Angreifende ohne Anmeldung eigenen Code auf einem Webserver ausführen. Betroffen waren grundsätzlich alle Websites, die auf PHP laufen, also auch solche mit Joomla oder WordPress. Die einzige vollständige Lösung war ein Update von PHP selbst. Was hinter den Lücken steckte, warum sie so gefährlich waren und wie wir für unsere Kundschaft reagiert haben, steht in den folgenden Abschnitten.

Zwei Lücken im Kern von PHP haben Millionen Websites gleichzeitig getroffen

PHP ist die Programmiersprache, mit der der Server eine Website bei jedem Aufruf zusammensetzt. Systeme wie Joomla, WordPress oder Shopware bauen darauf auf. Am 20. Oktober 2026 kündigte das PHP-Team ein außerplanmäßiges Sicherheitsupdate für den Folgetag an. Es ging um die Lücken CVE-2026-109618 und CVE-2026-109619, die mit 9,2 von 10 möglichen Punkten als kritisch eingestuft wurden. In Fachmedien bekamen sie schnell den Namen PHP2Shell. Das Besondere war ihr Ort. Die Fehler steckten in PHP selbst und nicht in einem Content-Management-System oder einer Erweiterung. Ein Update der Website allein half deshalb nicht. Das Bundesamt für Sicherheit in der Informationstechnik gab eine Warnung der Stufe Orange heraus, der zweithöchsten Stufe. Es sprach von einem herausragenden Bedrohungspotenzial und riet, betroffene Server im Zweifel vom Netz zu nehmen.

Gefährlich war die Lücke, weil schon ein einzelner Aufruf genügen konnte

Beide Lücken erlaubten eine sogenannte Remote Code Execution. Gemeint ist, dass Angreifende aus der Ferne eigene Befehle auf einem fremden Server ausführen. Eine Anmeldung war dafür nicht nötig. Nach Angaben des PHP-Teams konnte ein einzelner Aufruf den Angriff auslösen, noch bevor der Code der Website überhaupt lief. Mögliche Folgen waren gestohlene Kundendaten, veränderte Seiten, eingeschleuste Schadsoftware bis hin zur Übernahme des ganzen Servers. Funktionierende Angriffsprogramme kursierten bereits am Tag der Veröffentlichung, erste Angriffe wurden beobachtet. Die Lösung bestand in neuen PHP-Versionen, nämlich 8.5.12, 8.4.27, 8.3.36 und 8.2.35. Für PHP 8.1 und ältere Versionen gab es keine regulären Updates mehr. Übergangslösungen in der Konfiguration verringerten das Risiko nur. Weil PHP auf dem Server des Hosting-Anbieters läuft, hing der Schutz jeder Website davon ab, wie schnell der jeweilige Anbieter aktualisierte.

Wir haben alle betreuten Websites gesperrt, geprüft und dann wieder freigegeben

Sobald die Warnung bekannt war, haben wir die Hosting-Anbieter aller Websites kontaktiert, die wir betreuen. Wir wollten wissen, wann PHP auf ihren Servern aktualisiert wird. Bis dahin haben wir die Websites zeitweise gesperrt. Eine kurze Ausfallzeit wiegt weniger als ein übernommener Server, und genau dazu hatte auch das Bundesamt geraten. Sobald die Anbieter PHP gepatcht hatten, haben wir die Seiten umgehend wieder freigeschaltet. Danach haben wir jede einzelne Website geprüft, ob sich in der Zwischenzeit nicht doch Schadsoftware eingeschlichen hat. Alle betreuten Websites haben die Lücke ohne Folgen überstanden. Eine solche Reaktion setzt allerdings voraus, dass jemand weiß, bei welchem Anbieter eine Website liegt, wer Zugang hat und welche PHP-Version dort läuft. Bei Websites ohne Betreuung fehlt genau dieses Wissen oft im entscheidenden Moment.

Eine Website ohne vereinbarte Wartung bleibt bei der nächsten Lücke ungeschützt

Angriffe auf Websites laufen auch ohne besonderen Anlass rund um die Uhr, meist automatisiert. Laut dem Lagebericht 2025 des Bundesamts ist die Zahl neu entdeckter Schwachstellen pro Tag binnen eines Jahres um 24 Prozent gestiegen, und die Angreifenden entwickeln ihre Werkzeuge ständig weiter. Wer eine ältere Website ohne regelmäßige Wartung betreibt, sollte deshalb dringend klären, wer bei der nächsten Lücke reagiert. Der erste Schritt geht ohne Agentur. Eine Nachfrage beim Hoster zeigt, welche PHP-Version läuft und ob Updates automatisch eingespielt werden.
Weiterführende, externe Links zu diesem Beitrag: