Gesicherter Webserver mit Schloss-Symbol: PHP-Sicherheitslücke PHP2Shell schließen

Seit dem 21. Oktober 2026 ist die größte PHP-Sicherheitslücke seit Jahren öffentlich. Zwei Fehler im PHP-Kern erlauben es Angreifern, ohne Login eigenen Code auf fremden Webservern auszuführen. Betroffen ist jede PHP-Version seit 2004, also praktisch jede WordPress-Website, jeder Shopware-, Magento- oder Joomla-Shop und jede selbst entwickelte PHP-Anwendung. Das BSI warnt mit Kritikalität 3 (orange) und erwartet großflächige, automatisierte Angriffe. Cloudflare meldete innerhalb von Stunden einen Anstieg von einigen tausend auf mehrere Millionen Angriffsversuche.

Wir haben alle unsere Server und die Server unserer Kunden am 21. Oktober aktualisiert. In diesem Beitrag zeigen wir dir, wie du in fünf Minuten prüfst, ob deine Website sicher ist, was du tust, wenn dein Hoster noch nicht nachgezogen hat, und woran du erkennst, ob bereits jemand drin war.

Das Wichtigste auf einen Blick

  • Was: Zwei kritische Lücken im PHP-Interpreter, bekannt als PHP2Shell (CVE-2026-109618 und CVE-2026-109619), bewertet mit CVSS 9,2 von 10.
  • Wer: Alle Websites, die mit PHP laufen, von PHP 5 bis 8.5. Das sind rund drei Viertel aller Webserver weltweit.
  • Folge: Angreifer führen aus der Ferne Code auf dem Server aus, ohne Login und ohne Zutun von Besuchern. Danach gehört ihnen die Website, oft auch die Datenbank und alle anderen Seiten im selben Hosting.
  • Lösung: Update auf PHP 8.5.12, 8.4.27, 8.3.36 oder 8.2.35. Für PHP 8.1 und älter gibt es keine offiziellen Updates mehr.
  • Wichtig: Ein WordPress-, Plugin- oder Shop-Update hilft nicht. Die Lücke sitzt im PHP auf dem Server, das muss dein Hoster oder dein Administrator aktualisieren.

Du willst nicht selbst prüfen? Wir schauen für dich auf Server und PHP-Version und sagen dir noch heute, ob Handlungsbedarf besteht.

Website jetzt prüfen lassen →Kurz Kontakt aufnehmen

Was ist PHP2Shell?

PHP2Shell ist kein Fehler in WordPress, Shopware oder einem Plugin, sondern ein Fehler in der Programmiersprache PHP selbst. Der Name lehnt sich an Log4Shell aus dem Jahr 2021 an, die Dimension ist vergleichbar: Palo Alto Networks zählte über 22 Millionen verwundbare Webserver im Internet.

Technisch handelt es sich um zwei Schwachstellen in der Speicherverwaltung von PHP:

KennungUrsacheAuswirkung
CVE-2026-109618Fehler beim Aufräumen, wenn das Speicherlimit (memory_limit) erreicht wirdAngreifer können Speicher auslesen, freigeben und eigenen Code ausführen
CVE-2026-109619Veralteter interner Zustand nach einem Fatal Error, ausnutzbar über die Upload-Fortschrittsanzeige der SessionZweiter Request führt Schadcode aus

Der Angriff läuft über ganz normale HTTP-Anfragen, zum Beispiel ein manipuliertes Upload-Formular. Er braucht mehrere tausend Requests, läuft dann aber zuverlässig. Genau das macht ihn für automatisierte Massenangriffe interessant: Ein Bot scannt das Netz, findet einen ungepatchten Server und legt eine Hintertür ab. Die Entdecker zeigten eine Codeausführung auf einem aktuellen Laravel-Server nach 38 Sekunden.

Betroffen sind alle gängigen Betriebsarten von PHP: Apache mit mod_php, PHP-FPM, LiteSpeed (LSAPI) und PHP unter Windows. Statische Websites ohne PHP sind nicht betroffen.

Der Zeitablauf: Warum es so hektisch wurde

  • 20. Oktober 2026: Die PHP Foundation warnt vorab und kündigt Patches für den 22. Oktober an.
  • 21. Oktober, mittags: Details zu den Lücken kursieren vorzeitig in einschlägigen Foren. Die PHP-Entwickler ziehen die Veröffentlichung vor.
  • 21. Oktober, kurz vor 16 Uhr: Die gepatchten Versionen erscheinen. Das BSI warnt, Cloudflare meldet erste Angriffswellen.
  • 21. und 22. Oktober: Zahlreiche Behörden, Kliniken und Universitäten nehmen ihre Websites vorsorglich vom Netz, darunter laut Medienberichten die Charité. In den Niederlanden gehen DigiD und MijnOverheid offline, Finnland sperrt den eingehenden Verkehr zu Regierungsdiensten.
  • Seitdem: Hoster und Linux-Distributionen rollen die Updates aus. Nicht alle sind gleich schnell.

Es gibt zudem Hinweise, dass einzelne Angriffe bereits vor der Veröffentlichung stattfanden. Wer heute patcht, schließt die Tür, sollte aber prüfen, ob schon jemand durchgegangen ist (dazu unten mehr).

So prüfst du in 5 Minuten, ob deine Website sicher ist

Schritt 1: PHP-Version herausfinden

Je nachdem, wie deine Website gehostet wird:

  • WordPress: Im Backend unter Werkzeuge → Website-Zustand → Bericht → Server steht die PHP-Version.
  • Plesk: Unter Websites & Domains → PHP-Einstellungen (pro Domain).
  • cPanel: Unter MultiPHP-Manager.
  • Hosting-Paket (IONOS, Strato, all-inkl, Hetzner, DomainFactory usw.): Im Kundenmenü unter PHP-Einstellungen oder PHP-Version.
  • Eigener Server oder VPS: Im Terminal mit php -v und, falls du PHP-FPM nutzt, zusätzlich php-fpm -v.
  • Shopware, Magento, Joomla, TYPO3: Im jeweiligen Admin-Bereich unter Systeminformationen.

Schritt 2: Mit den gepatchten Versionen vergleichen

Dein PHPStatusWas zu tun ist
8.5.12 oder höhersichernichts, Updates weiter laufen lassen
8.4.27 oder höhersichernichts
8.3.36 oder höhersichernichts
8.2.35 oder höhersicherUmstieg auf 8.3+ einplanen, 8.2 läuft Ende 2026 aus
8.2 bis 8.5, aber ältere NummerverwundbarHoster um Update bitten oder selbst patchen
8.1, 8.0, 7.x, 5.xverwundbar, kein offizielles UpdateHoster fragen, ob ein Backport eingespielt ist; sonst Wechsel auf 8.3+

Eine Ausnahme: Bei Debian, Ubuntu und anderen Linux-Distributionen wird der Fix oft als Sicherheitspatch in die bestehende Versionsnummer eingebaut. Dann steht dort zum Beispiel weiterhin „8.2.29“, obwohl die Lücke geschlossen ist. In diesem Fall gibt nur die Statusseite oder der Support deines Hosters Sicherheit.

Schritt 3: Beim Hoster nachfragen

Viele deutsche Hoster haben am 21. und 22. Oktober gepatcht, teils auch ältere PHP-Versionen. Einige waren am Morgen des 22. Oktober noch nicht fertig. Verlass dich nicht auf einen Newsletter, sondern prüfe die Statusseite deines Hosters oder frag den Support konkret:

„Ist PHP auf meinem Tarif gegen PHP2Shell (CVE-2026-109618 und CVE-2026-109619) gepatcht? Welche PHP-Version läuft aktuell für meine Domain, und sind alle PHP-Prozesse neu gestartet worden?“

Der letzte Punkt ist wichtig: Ein eingespieltes Paket wirkt erst, wenn PHP-FPM beziehungsweise der Webserver neu gestartet wurde.

Unsicher, was der Hoster dir geantwortet hat, oder keine Antwort bekommen? Schick uns die Antwort oder deine Domain, wir ordnen das ein.

Patch-Stand mit uns klären →

Wenn dein Hoster noch nicht gepatcht hat

Du hast drei Möglichkeiten, in dieser Reihenfolge:

  1. PHP-Version im Hosting-Panel wechseln. Die meisten Hoster bieten mehrere PHP-Versionen parallel an. Stelle deine Domain auf die neueste verfügbare Version um, die laut Tabelle sicher ist. Teste danach die Website, vor allem bei älteren Plugins und Themes.
  2. Übergangsweise absichern. Wenn kein Update möglich ist: Website hinter Cloudflare (die WAF-Regeln gegen PHP2Shell sind auch im kostenlosen Tarif aktiv), session.upload_progress.enabled auf 0 setzen, max_input_nesting_level auf einen niedrigen Wert wie 8. Das PHP-Team betont ausdrücklich, dass diese Einstellungen nur eine Krücke sind. Sie blockieren den bekannten Weg, nicht die Ursache.
  3. Website vorübergehend vom Netz nehmen. Das klingt drastisch, ist aber genau das, was Behörden und Kliniken gemacht haben. Ein Wartungshinweis für zwei Tage ist billiger als ein gehackter Shop mit abgeflossenen Kundendaten.

Wenn dein Hoster auch nach zwei Tagen keine klare Aussage trifft, ist das ein Grund, über einen Wechsel nachzudenken. Wie du einen guten Hoster erkennst, haben wir in einem eigenen Beitrag zum Webhosting beschrieben.

Eigener Server: Was Administratoren jetzt tun

Wenn du einen eigenen Server, einen VPS oder einen Managed Server betreibst:

  1. Pakete aktualisieren. Unter Debian und Ubuntu mit apt update && apt upgrade, unter AlmaLinux und Rocky mit dnf update. Wer PHP über die Sury-Repositories bezieht, bekommt dort auch Backports für ältere Zweige.
  2. Alle PHP-Prozesse neu starten. systemctl restart php8.3-fpm (Versionsnummer anpassen) beziehungsweise Apache oder LiteSpeed neu starten. Vergiss keine zweite PHP-Version, die parallel läuft.
  3. Docker-Container neu ziehen. Mit docker compose pull und docker compose up -d. Ein Container mit altem PHP-Image bleibt verwundbar, auch wenn das Host-System gepatcht ist.
  4. Plesk-Panel nicht vergessen. Plesk hat die PHP-Versionen für Websites aktualisiert, das Panel selbst nutzt aber eine eigene PHP-Installation. Prüfen mit plesk php -v. Das Admin-Panel sollte ohnehin nur von festen IP-Adressen oder per VPN erreichbar sein.
  5. Netzwerkgeräte prüfen. Viele Firewalls und NAS-Systeme haben PHP-Weboberflächen, darunter pfSense, OPNsense, QNAP und Synology. Auch die brauchen Updates und gehören nicht offen ins Internet.

Das haben wir am 21. Oktober für alle unsere Systeme so durchgezogen. Die Schritte sind nicht kompliziert, sie müssen nur vollständig sein.

War schon jemand drin? Anzeichen für eine Kompromittierung

Ein Update schließt die Lücke, entfernt aber keinen Schadcode, der vorher abgelegt wurde. Weil es Hinweise auf Angriffe vor dem 21. Oktober gibt und Millionen automatisierter Versuche seitdem, lohnt ein Blick auf diese Punkte:

  • Unbekannte PHP-Dateien in wp-content/uploads/, in Plugin- und Theme-Ordnern oder direkt im Webroot. Upload-Ordner sollten gar keine PHP-Dateien enthalten.
  • Kürzlich geänderte Dateien, die du nicht angefasst hast. Auf dem Server findest du sie mit find . -name "*.php" -mtime -3.
  • Neue Administratoren in WordPress oder im Shop-Backend, die niemand angelegt hat.
  • Weiterleitungen auf fremde Seiten, oft nur für mobile Besucher oder nur aus der Google-Suche heraus.
  • Warnungen in der Google Search Console („Diese Website wurde möglicherweise gehackt“), vom Hoster oder von Browsern.
  • Auffällige Serverlast, Spam-Versand von deiner Domain oder unbekannte Cronjobs.

Findest du etwas davon, gilt: Datei löschen reicht nicht. Angreifer legen in der Regel mehrere Hintertüren an, und alle Zugangsdaten, die auf dem Server liegen (Datenbank, SMTP, FTP, API-Schlüssel), sind als abgeflossen zu betrachten. Dann braucht es eine saubere Bereinigung: Website aus einem sauberen Backup wiederherstellen oder Datei für Datei prüfen, alle Passwörter und Schlüssel rotieren, Hoster informieren und bei personenbezogenen Daten die DSGVO-Meldepflicht innerhalb von 72 Stunden beachten. Wie so eine Bereinigung abläuft, haben wir im Beitrag zur JTL-Shop-Sicherheitslücke ausführlich beschrieben.

Verdacht auf einen Angriff? Dann zählt jede Stunde. Melde dich direkt, wir reagieren am selben Tag.

Gehackte Website bereinigen lassen →Sofort Kontakt aufnehmen

Warum ausgerechnet PHP 7.4 und 8.1 jetzt zum Problem werden

Viele Websites laufen noch auf PHP 7.4 (Support-Ende November 2022) oder 8.1 (Support-Ende Dezember 2025), weil alte Plugins oder Themes mit neueren Versionen nicht funktionieren. Bisher war das ein schleichendes Risiko. Mit PHP2Shell wird es akut, denn für diese Versionen liefert das PHP-Projekt keine Patches mehr. Einzelne Hoster und Projekte wie die Sury-Backports haben eigene Fixes gebaut, aber darauf kannst du dich nicht dauerhaft verlassen.

Die Lücke ist ein guter Anlass, den Umstieg jetzt zu machen statt in sechs Monaten. In der Praxis sind es meist zwei bis drei Plugins, die ersetzt werden müssen, und ein Theme, das angepasst wird. Auf einer Staging-Kopie lässt sich das gefahrlos testen. Wie regelmäßige Updates den Unterschied machen, zeigt unser Beitrag Warum WordPress-Updates unerlässlich sind.

Du brauchst Hilfe? Wir sind erreichbar

Unsere eigenen Server und die Websites unserer Wartungskunden sind seit dem 21. Oktober gepatcht und geprüft. Wenn du gerade vor einer Website stehst, bei der du nicht weißt, ob sie sicher ist, oder dein Hoster nicht reagiert, melde dich. Wir helfen Unternehmen in dieser Situation mit:

  • PHP2Shell-Check: Wir prüfen PHP-Version, Patch-Stand und Server-Konfiguration und sagen dir klar, ob Handlungsbedarf besteht.
  • Update und Umstieg: Wir heben deine Website auf eine gepatchte PHP-Version, testen vorher auf einer Staging-Kopie und beheben Plugin- und Theme-Konflikte.
  • Bereinigung nach einem Angriff: Wir finden und entfernen Webshells und Hintertüren, rotieren Zugangsdaten und stellen die Website sauber wieder her.
  • Laufende Wartung: Damit so eine Lücke beim nächsten Mal innerhalb von Stunden geschlossen ist, nicht Wochen später. Mehr dazu auf unserer Seite zur WordPress-Wartung.

Du erreichst uns über das Kontaktformular oder vereinbarst direkt ein kostenloses Erstgespräch. Bei einem akuten Verdacht auf Kompromittierung reagieren wir am selben Tag.

Kostenloses Erstgespräch vereinbaren →WordPress-Wartung ansehen


Stand: 22. Oktober 2026. Die Lage entwickelt sich schnell, wir aktualisieren diesen Beitrag, sobald sich wesentliche Angaben ändern. Quellen: PHP Foundation (Security Advisory vom 21.10.2026), BSI-Cybersicherheitswarnung 2026-297981-1032, Cloudflare, CERT-EU, heise online.

Häufige Fragen

Was ist PHP2Shell?

PHP2Shell ist der Name für zwei kritische Sicherheitslücken im PHP-Interpreter selbst (CVE-2026-109618 und CVE-2026-109619, CVSS 9,2). Angreifer können damit ohne Login beliebigen Code auf dem Webserver ausführen. Betroffen sind alle PHP-Versionen seit PHP 5, also praktisch jede Website und jeder Shop, der mit PHP läuft. Der Name lehnt sich an Log4Shell an.

Ist meine WordPress-Website von PHP2Shell betroffen?

Sehr wahrscheinlich ja, denn WordPress läuft auf PHP. Die Lücke sitzt aber nicht in WordPress, sondern im PHP auf dem Server. Ein WordPress-, Theme- oder Plugin-Update hilft deshalb nicht. Entscheidend ist, ob dein Hoster oder dein Server-Administrator PHP auf 8.5.12, 8.4.27, 8.3.36 oder 8.2.35 (oder einen gepatchten Distributions-Build) aktualisiert hat.

Wie finde ich heraus, welche PHP-Version meine Website nutzt?

In WordPress unter „Werkzeuge → Website-Zustand → Bericht → Server“. In Plesk unter „Websites & Domains → PHP-Einstellungen“, in cPanel unter „MultiPHP-Manager“. Auf einem eigenen Server mit „php -v“. Bei Hosting-Paketen zeigt oft auch das Kundenmenü des Hosters die Version an. Vergleiche die Zahl mit den gepatchten Versionen; bei Debian oder Ubuntu kann der Fix auch ohne neue Versionsnummer eingebaut sein, dann hilft nur die Auskunft des Hosters.

Was tue ich, wenn meine Website noch auf PHP 7.4, 8.0 oder 8.1 läuft?

Für diese Versionen gibt es vom PHP-Projekt keine offiziellen Updates mehr. Einige Hoster spielen eigene Backports ein, das musst du beim Hoster erfragen. Die saubere Lösung ist der Wechsel auf PHP 8.3 oder neuer. Der Wechsel kann alte Plugins und Themes brechen, deshalb vorher auf einer Testkopie prüfen. Wenn du dabei Hilfe brauchst, übernehmen wir das.

Reicht es, wenn mein Hoster PHP aktualisiert hat?

Für die Zukunft ja, für die Vergangenheit nicht unbedingt. Ein Update schließt die Lücke, entfernt aber keinen Schadcode, der vorher eingeschleust wurde. Es gab Berichte über Angriffe bereits vor Veröffentlichung der Patches. Prüfe deshalb zusätzlich, ob deine Website Auffälligkeiten zeigt: unbekannte Dateien, neue Admin-Konten, fremde Weiterleitungen, Warnungen in der Google Search Console.

Woran erkenne ich, dass meine Website über PHP2Shell gehackt wurde?

Typische Anzeichen sind unbekannte PHP-Dateien in Upload- oder Plugin-Ordnern, Administratoren, die niemand angelegt hat, Weiterleitungen auf fremde Seiten, plötzlich hohe Serverlast, Spam-Versand von deinem Server, Warnungen von Google oder deinem Hoster. Viele Infektionen sind aber von außen nicht sichtbar. Im Zweifel lohnt eine professionelle Prüfung der Dateien und Logs.

Hilft eine Firewall oder Cloudflare gegen PHP2Shell?

Nur als Übergangslösung. Cloudflare hat WAF-Regeln gegen die bekannten Angriffsmuster ausgerollt, auch im kostenlosen Tarif. Das fängt einen Teil der automatisierten Angriffe ab, ersetzt aber das PHP-Update nicht. Angreifer variieren ihre Anfragen, und nur der Patch beseitigt die Ursache.

Bereit, deine Marke auf das
nächste Level zu bringen?

Greenstein ist dein Partner für Webdesign, Employer Branding und Markenstrategie – aus Hildesheim für ganz Deutschland.

5.0 54 Bewertungen