PHP2Shell ist der Name für zwei kritische Sicherheitslücken in PHP selbst: CVE-2026-109618 und CVE-2026-109619. Beide sind mit CVSS 4.0 9,2 bewertet und ermöglichen Angreifern ohne Anmeldung, eigenen Code auf Webservern auszuführen. Behoben sind sie in PHP 8.5.12, 8.4.27, 8.3.36 und 8.2.35, veröffentlicht am 21. Oktober 2026. Wer PHP für Webanfragen nutzt, sollte jetzt aktualisieren, alle PHP-Prozesse neu starten und das System auf Angriffe prüfen.
Die Lücken betreffen nicht ein einzelnes CMS, sondern jede Website mit PHP, also auch TYPO3, WordPress, Shopware oder Laravel. Das BSI hat eine Warnung herausgegeben, und mehrere Sicherheitsfirmen berichten über Angriffsversuche.
Dieser Leitfaden erklärt, was PHP2Shell ist, welche PHP-Versionen und Server-Setups betroffen sind, wie Sie Ihren Server prüfen, die Lücke schließen und Spuren eines Angriffs finden, und wie NITSAN Sie dabei unterstützt.
Prüfen Sie Ihre PHP-Version sofort mit unserem kostenlosen PHP2Shell-Checker. Sind Sie betroffen, helfen wir Ihnen mit Priorität.
Was ist PHP2Shell?
PHP2Shell ist der Sammelname, den Sicherheitsforscher zwei zusammenhängenden Fehlern im PHP-Interpreter gegeben haben. Beide gehören zur Fehlerklasse Use-after-free (CWE-416) und stecken in Bereichen, die fast jede Anfrage durchläuft: Speicherverwaltung und Fehlerbehandlung.
Die beiden CVEs im Überblick:
CVE | Kurzname | Was schiefgeht | Auswirkung |
CVE-2026-109618 | RCE durch Out-of-Memory-Korruption | Erreicht eine Anfrage das memory_limit, während Request-Daten erst teilweise aufgebaut sind, behandelt PHP die defekten Daten später als gültig. | Codeausführung unter Apache mit mod_php mit Standardeinstellungen; unter PHP-FPM über Anwendungspfade |
CVE-2026-109619 | RCE durch veralteten globalen Zustand | Nach einem Fatal Error bleibt anfragebezogener Zustand erhalten, obwohl der Speicher freigegeben wurde. Die nächste Anfrage im selben Worker nutzt ihn weiter. | Codeausführung gegen eine reale Anwendung unter mod_php; Session-Pfad auch unter PHP-FPM bestätigt |
Wie funktioniert der PHP2Shell-Angriff?

Ein Angriff über PHP2Shell läuft in vier Schritten ab:
- Präparierte HTTP-Anfrage: Ein Angreifer sendet ohne Anmeldung eine speziell aufgebaute Anfrage, meist mit Multipart-Body.
- Speicherlimit oder Fatal Error: PHP bricht die Verarbeitung ab, während Request-Daten noch aufgebaut werden.
- Defekter Speicherzustand: Halb initialisierte Daten oder veraltete Zeiger bleiben zurück und werden später weiterverwendet.
- Fremder Code wird ausgeführt: Die Speicherkorruption wird genutzt, um Befehle mit den Rechten des PHP-Benutzers auszuführen.
Warum ist PHP2Shell so gefährlich?
- Keine Anmeldung nötig: Der CVSS-4.0-Vektor (AV:N/AC:H/AT:P/PR:N/UI:N) setzt weder Zugangsdaten noch eine Nutzeraktion voraus.
- Der Angriff greift vor Ihrem Code: Unter mod_php läuft der Exploit, bevor CMS-Code startet. Plugins und Login-Schutz helfen nicht.
- Enorme Verbreitung: Palo Alto Networks Unit 42 zählt über 22,6 Millionen potenziell exponierte Instanzen. Der verwundbare Code existiert seit PHP 5.4 (2012).
- Frühe Angriffe: Die CVE-Kennungen wurden vor dem Patch geleakt. Cloudflare sah erste Angriffsversuche am 21. Oktober um 07:43 UTC, mehr als sechs Stunden vor dem Release.
- Abfluss von Zugangsdaten: Laut Wiz und Patchstack kann auch ohne Codeausführung Worker-Speicher mit Passwörtern, API-Schlüsseln und Session-Tokens ausgelesen werden.
Dem BSI war am 22. Oktober noch keine erfolgreiche Ausnutzung in der Breite bekannt. watchTowr meldet jedoch Angriffsversuche, und mehrere Behörden, Hochschulen und Kliniken in Deutschland haben Online-Angebote vorsorglich abgeschaltet.
Welche PHP-Versionen sind von PHP2Shell betroffen?

Alle PHP-Versionen vor den folgenden Releases sind verwundbar:
PHP-Branch | Verwundbar | Behoben in | Status |
PHP 8.5 | 8.5.0 bis 8.5.11 | 8.5.12 | Update verfügbar |
PHP 8.4 | 8.4.0 bis 8.4.26 | 8.4.27 | Update verfügbar |
PHP 8.3 | 8.3.0 bis 8.3.35 | 8.3.36 | Update verfügbar |
PHP 8.2 | 8.2.0 bis 8.2.34 | 8.2.35 | Update verfügbar, Supportende 31.12.2026 |
PHP 7.4, 8.0, 8.1 | Alle Versionen | Kein offizielles Release | Backport über Distribution oder LTS-Anbieter |
PHP 7.3 und älter | Alle Versionen | Kein Fix | Upgrade oder vom Netz nehmen |
Welche Server-Setups sind gefährdet?
Betroffen ist jede PHP-Installation, die Webanfragen verarbeitet. Das Risiko unterscheidet sich je nach Server-API (SAPI):
Setup | Risiko | Begründung |
Apache mit mod_php | Am höchsten | Volle Codeausführung mit Standardeinstellungen, noch vor dem Anwendungscode |
PHP-FPM (Nginx oder Apache-Proxy) | Hoch | Codeausführung über Anwendungs- und Session-Pfade bestätigt |
php-cgi, FrankenPHP, LiteSpeed | Hoch | Vom PHP-Sicherheitsteam ausdrücklich als gefährdet genannt |
Container und Kubernetes | Abhängig vom Image | Der alte Interpreter läuft weiter, bis das Image neu gebaut und ausgerollt ist |
Plesk, cPanel, Managed Hosting | Beim Anbieter prüfen | Plesk hat am 21.10. alle mitgelieferten Versionen neu gebaut, auch 7.4, 8.0 und 8.1 |
Was bedeutet PHP2Shell für TYPO3-Websites?
TYPO3 selbst braucht keinen Code-Fix. Jede TYPO3-Instanz erbt aber das Risiko ihrer PHP-Version. Die TYPO3-Version bestimmt, wie weit Sie PHP anheben können:
TYPO3-Version | Mindestens PHP | Empfehlung |
TYPO3 v14 LTS | 8.2 | PHP 8.4.27 oder 8.5.12 einsetzen, alle Worker neu starten |
TYPO3 v13 LTS | 8.2 | Auf gepatchtes PHP 8.2, 8.3 oder 8.4 aktualisieren |
TYPO3 v12 (ELTS) | 8.1 | Von PHP 8.1 auf gepatchtes 8.2 oder 8.3 wechseln, Upgrade auf v13 oder v14 planen |
TYPO3 v11 (ELTS) | 7.4 | Läuft oft auf PHP 7.4 bis 8.1 ohne offiziellen Fix: Backport nutzen, Upgrade planen |
TYPO3 v10 und älter | 7.2 | Keine unterstützte PHP-Version mehr: Website isolieren und TYPO3 upgraden |
Ihre aktuelle TYPO3-Version finden Sie schnell mit dem kostenlosen TYPO3 Version Check. Für ältere Installationen hilft unser TYPO3 Upgrade Service. Was ein TYPO3-Sicherheitsupdate ist und wie Sie TYPO3 dauerhaft aktuell halten, lesen Sie in unserem Beitrag TYPO3-Sicherheit und Wartung.
Zeitleiste: Wann ist was passiert?
Datum | Ereignis |
2024 | Beim ersten externen PHP-Audit, finanziert von der Sovereign Tech Agency, findet ein Core-Entwickler erste Hinweise auf das Out-of-Memory-Problem. |
11.08.2026 | Die Sicherheitsfirma Calif meldet eine Remote-Code-Execution mit derselben Ursache, OpenAI meldet sie unabhängig ebenfalls. |
24.08. und 18.09.2026 | Wiz Research und OpenAI melden weitere Angriffsvektoren. |
20.10.2026 | Die CVE-Kennungen werden geleakt. PHP kündigt das Notfall-Release an und zieht es um einen Tag vor. |
21.10.2026, 07:43 UTC | Cloudflare beobachtet erste Angriffsversuche. |
21.10.2026, 16:00 MESZ | PHP 8.5.12, 8.4.27, 8.3.36 und 8.2.35 erscheinen. Das BSI warnt. |
22.10.2026 | watchTowr meldet Angriffsversuche in freier Wildbahn. |
31.12.2026 | PHP 8.2 erreicht das Supportende. |
Wie prüfen Sie, ob Ihr Server von PHP2Shell betroffen ist?
Entscheidend ist die PHP-Version, die Ihre Website ausliefert. Die Version auf der Kommandozeile kann davon abweichen. So prüfen Sie es:
- In TYPO3: Admin Tools › Environment › PHP Info oder das Systeminformations-Menü oben rechts im Backend.
- Auf dem Server:
php -vzeigt nur die CLI-Version. Prüfen Sie zusätzlich mitapachectl -M | grep php, ob mod_php geladen ist, und mitsystemctl list-units | grep fpm, welche PHP-FPM-Dienste laufen. - Beim Hoster: Fragen Sie nach der exakten PHP-Version und ob alle PHP-Prozesse nach dem Update neu gestartet wurden.
- Bewerten: Liegt Ihre Version unter 8.5.12, 8.4.27, 8.3.36 oder 8.2.35, ist der Server verwundbar. PHP 8.1 und älter gilt ohne Backport immer als verwundbar.
PHP2Shell beheben: 5 Schritte

1. Alle PHP-Laufzeiten erfassen
Listen Sie alle Server, vHosts, Container und Appliances mit PHP auf, auch PHP in Control-Panels und Herstellerprodukten. Notieren Sie je System die Version und die SAPI.
2. Gepatchte PHP-Version installieren
Installieren Sie PHP 8.5.12, 8.4.27, 8.3.36 oder 8.2.35 über Ihre Distribution, Ihren Hoster oder php.net. Debian, Ubuntu und Red Hat haben den Patch vorab erhalten. Nutzer von rpms.remirepo.net sollten laut PHP-Projekt auf Distributionspakete oder einen eigenen Build wechseln.
3. Alle Worker neu starten
Ein laufender PHP-FPM-Master oder Apache mit mod_php hält den alten Code im Speicher. Starten Sie jeden PHP-FPM-Pool und den Webserver neu. Container müssen neu gebaut und ausgerollt werden.
4. Live-Version prüfen
Rufen Sie die Website auf und bestätigen Sie die neue Version im TYPO3-Environment-Modul oder über ein temporäres, geschütztes Info-Skript, das Sie danach löschen.
5. Auf Angriffe prüfen
War das System seit dem 20. Oktober ungepatcht im Internet erreichbar, prüfen Sie es auf Spuren eines Angriffs (siehe unten) und tauschen Sie Zugangsdaten aus.
Was tun, wenn Sie nicht sofort aktualisieren können?
Das PHP-Sicherheitsteam nennt Übergangsmaßnahmen. Sie verringern das Risiko, machen den Server aber nicht sicher. Setzen Sie sie in der php.ini, im FPM-Pool oder in der Webserver-Konfiguration, nicht per ini_set() oder .user.ini:
Maßnahme | Gegen | Nebenwirkung |
memory_limit = -1 (per php_admin_value) | CVE-2026-109618 | Eine Anfrage kann den gesamten Speicher belegen; Container- oder cgroup-Limit setzen |
post_max_size = 8M (32M bei Uploads) | CVE-2026-109618 | Große Uploads schlagen fehl |
Request-Limits am Proxy oder Webserver | CVE-2026-109618 | Body-Größe, Felder, Header und Verschachtelung begrenzen |
session.upload_progress.enabled = 0 | CVE-2026-109619 | Upload-Fortschrittsanzeigen funktionieren nicht mehr |
fatal_error_backtraces = 0 (nur PHP 8.5) | CVE-2026-109619 | Keine Backtraces bei Fatal Errors |
WAF-Regeln, z. B. von Cloudflare | Beide | Decken bekannte Angriffswege ab, nicht jede Variante |
Wurde Ihr Server über PHP2Shell angegriffen?
Sicherheitsteams empfehlen, jedes System, das ab dem 20. Oktober ungepatcht im Internet erreichbar war, bis zur Prüfung als möglicherweise kompromittiert zu behandeln. Achten Sie bei TYPO3- und anderen PHP-Websites auf diese Anzeichen:
- Neue oder geänderte PHP-Dateien in beschreibbaren Ordnern wie fileadmin/, typo3temp/, uploads/ oder var/
- Auffällige Multipart-POST-Anfragen, gehäufte HTTP-500-Fehler oder abgestürzte PHP-Worker (Segfaults) in den Logs seit dem 20. Oktober
- Neue Backend- oder Systembenutzer, unbekannte Cronjobs, SSH-Schlüssel oder ausgehende Verbindungen des Webbenutzers
- Abweichungen zwischen vendor/ beziehungsweise Core-Dateien und composer.lock oder einer sauberen Installation
Tauschen Sie nach dem Patch Datenbankpasswörter, API-Schlüssel, SMTP-Zugänge, den TYPO3-encryptionKey und aktive Backend-Sessions aus. Wurden möglicherweise personenbezogene Daten abgerufen, verlangt die DSGVO (Art. 33) eine Meldung an die Aufsichtsbehörde binnen 72 Stunden.
Welche Konfigurationsfehler Angreifern zusätzlich helfen, zeigt unser Beitrag 12 TYPO3-Sicherheitsfehler.
So hilft NITSAN bei PHP2Shell

NITSAN ist eine TYPO3 Agentur mit Büros in Dresden, Berlin und Viernheim, Gold Member der TYPO3 Association und hat mehr als 20 TYPO3-Entwickler im Team. Wir schließen PHP2Shell für Organisationen in Deutschland, Österreich und der Schweiz:
- Notfall-Patch-Service: PHP-Update auf Ihren Servern oder gemeinsam mit Ihrem Hoster, Neustart aller Worker, Prüfung der Live-Version
- Kompromittierungs-Check: Prüfung von Logs, Dateien, Benutzern und Cronjobs seit dem 20. Oktober, Austausch kritischer Zugangsdaten
- EOL-Rettung und Upgrade: Backport-Weg für PHP 7.4 bis 8.1 und sicheres Upgrade auf TYPO3 v13 oder v14 LTS
- TYPO3-Sicherheits-SLA: geplante PHP- und TYPO3-Updates, Monitoring und schnelle Reaktion über unseren TYPO3 Support & Wartung, ab 149 € pro Monat
PHP2Shell-Anfragen bearbeiten wir mit Priorität. Wir prüfen Ihre Anfrage vorrangig, melden uns schnellstmöglich zurück und schließen die Lücke gemeinsam mit Ihnen oder Ihrem Hoster. Kunden mit TYPO3-Wartungsvertrag nennen PHP2Shell einfach in ihrer Support-Anfrage.
Unser Ablauf bei PHP2Shell
Phase | Aktivitäten |
Aufnahme | Kurzes Gespräch, NDA auf Wunsch, Zugang zu Hosting oder Servern |
Exposure-Check | PHP-Version und SAPI für jeden vHost, Container und mitgelieferte PHP-Installation |
Eindämmung | php.ini-Maßnahmen, Request-Limits und WAF-Regeln, falls der Patch warten muss |
Patch und Neustart | Gepatchte PHP-Builds oder Backports, Neustart aller Pools, Prüfung der Live-Version |
Prüfung auf Angriffe | Logs, beschreibbare Ordner, Benutzer und Integrität; Austausch von Zugangsdaten |
Bericht | Schriftliche Zusammenfassung für Geschäftsführung, Prüfer oder Versicherung |
Vorbeugung | Upgrade-Pfad, Update-Plan und SLA für das nächste kritische Release |
Sie möchten PHP2Shell auf Ihren Servern schließen lassen? Fordern Sie priorisierte Hilfe an, schreiben Sie an st@nitsantech.de oder rufen Sie Sven Thelemann direkt an: +49 351 48196661.
Fazit
PHP2Shell gehört zu den schwersten PHP-Sicherheitslücken der letzten Jahre. Die Lücken stecken im PHP-Kern, betreffen jede Website mit PHP und lassen sich ohne Anmeldung ausnutzen. Die einzige vollständige Lösung ist ein Update auf PHP 8.5.12, 8.4.27, 8.3.36 oder 8.2.35 mit anschließendem Neustart aller PHP-Prozesse.
Für Systeme auf PHP 8.1 oder älter braucht es einen Backport und einen Upgrade-Plan. Prüfen Sie außerdem jedes ungepatchte, öffentlich erreichbare System auf Spuren eines Angriffs. Mit einem erfahrenen TYPO3-Partner schließen Sie die Lücke schnell und dokumentiert. Damit das nächste kritische Release nicht wieder zum Notfall wird, übernimmt unser TYPO3-Wartungsvertrag PHP- und TYPO3-Updates planmäßig.
Quellen
- PHP Foundation: Today's PHP Security Release
- php.net: Security advisory zu CVE-2026-109618 und CVE-2026-109619
- BSI: PHP – Kritische Schwachstellen bedrohen Webanwendungen weltweit
- WordPress.org: Critical PHP Security Release
- Palo Alto Networks Unit 42: Threat Brief
- watchTowr: PHP2Shell FAQ
- Plesk: PHP2Shell in mitgeliefertem PHP
PHP2Shell-Hilfe mit Priorität
Wir bearbeiten PHP2Shell-Anfragen vorrangig und melden uns schnellstmöglich. Kostenlos und unverbindlich.
FAQs zu PHP2Shell
PHP2Shell ist der Sammelname für CVE-2026-109618 und CVE-2026-109619, zwei kritische Use-after-free-Lücken im PHP-Kern mit CVSS 4.0 9,2. Sie ermöglichen Angreifern ohne Anmeldung, Code auf Servern auszuführen, die Webanfragen mit PHP verarbeiten. Die Korrekturen erschienen am 21. Oktober 2026.
PHP 8.5.12, 8.4.27, 8.3.36 und 8.2.35. Für PHP 7.4, 8.0 und 8.1 gibt es kein offizielles Release, sondern nur Backports über Distributionen, LTS-Anbieter oder minimale Quellcode-Patches des PHP-Teams. Für PHP 7.3 und älter gibt es keinen Fix.
TYPO3 hat keine eigene Lücke, aber jede TYPO3-Website ist angreifbar, wenn ihre PHP-Version verwundbar ist. Aktualisieren Sie PHP, starten Sie alle PHP-Prozesse neu und prüfen Sie zuerst Websites, die noch auf PHP 8.1 oder älter laufen.
Nein. Laut PHP-Sicherheitsteam ist nur ein Update eine vollständige Lösung. memory_limit = -1, ein niedriges post_max_size, deaktivierter Session-Upload-Progress und WAF-Regeln verringern das Risiko, schließen aber nicht jede Variante.
Prüfen Sie die PHP-Version, die Ihre Website tatsächlich meldet, und fragen Sie, ob alle PHP-FPM-Pools und Webserver neu gestartet wurden. Ein aktualisiertes Paket schützt nicht, solange der alte Interpreter noch im Speicher läuft.
Typische Anzeichen sind neue PHP-Dateien in Upload- und Cache-Ordnern, verdächtige Multipart-POST-Anfragen und Worker-Abstürze in den Logs seit dem 20. Oktober, neue Backend-Benutzer und geänderte Core-Dateien. Im Zweifel sollten Experten das System prüfen.
Wenn personenbezogene Daten abgerufen wurden oder werden konnten, verlangt die DSGVO eine Meldung an die zuständige Aufsichtsbehörde binnen 72 Stunden ab Kenntnis. Für Organisationen unter NIS2 können weitere Pflichten gelten. Holen Sie rechtlichen Rat ein.
NITSAN bearbeitet PHP2Shell-Anfragen mit Priorität: Wir aktualisieren PHP auf Ihren Servern, starten alle Worker neu, prüfen das System auf Angriffe und planen bei Bedarf das Upgrade alter PHP- und TYPO3-Versionen. Nutzen Sie das Formular für priorisierte Hilfe auf dieser Seite, schreiben Sie an st@nitsantech.de oder rufen Sie an: +49 351 48196661.
Ansprechpartner für Internetagentur und TYPO3 Projekte
Sven Thelemann
Servicepartner - Deutschland

Sei der erste der kommentiert