PHP2Shell: Welche PHP-Versionen gepatcht sind und wie Sie Ihre prüfen
Im Oktober 2026 hat das PHP-Projekt 2 kritische Sicherheitslücken geschlossen, über die ein Angreifer ohne Anmeldung Code auf einem Server ausführen kann. Die CISA bezeichnet sie als „php2shell“. Sie werden als CVE-2026-109618 und CVE-2026-109619 geführt und sind beide nach CVSS v4.0 mit 9,2 bewertet. Läuft irgendein Teil des Onlineangebots Ihres Unternehmens auf PHP, ist die Aufgabe klar: Stellen Sie sicher, dass PHP 8.2.35, 8.3.36, 8.4.27, 8.5.12 oder neuer läuft, oder ein Build Ihres Anbieters, der den Fix enthält.
Dieser Artikel erklärt, was behoben wurde, welche Versionen den Fix enthalten, wie Sie herausfinden, welche Version Ihr Server meldet, und was Sie die Betreiber Ihres Hostings fragen sollten. Sie können auch in wenigen Sekunden prüfen, welche PHP-Version Ihre Website meldet.
Was PHP2Shell ist
Die PHP-Sicherheitsmeldung vom 21. Oktober 2026 beschreibt 2 Fehler in der Art, wie PHP interne Anfragedaten verarbeitet:
- CVE-2026-109618, Speicherbeschädigung bei Speichermangel. Wenn PHP der Speicher ausgeht, kann die Verarbeitung unterbrochen werden, während interne Anfragedaten erst teilweise initialisiert sind. Die anschließende Bereinigung behandelt ungültige Daten dann womöglich als gültig.
- CVE-2026-109619, veralteter Anfragezustand. Interner Zustand, der zu einer Anfrage gehört, kann weiterbestehen, nachdem sein Speicher bereits freigegeben wurde, und eine spätere Anfrage im selben Worker kann ihn verwenden.
Beide können eine Remotecodeausführung ohne Authentifizierung ermöglichen. Laut der Meldung ist jede PHP-Installation betroffen, die Webanfragen bedient, darunter PHP-FPM, Apache mit mod_php, php-cgi, FrankenPHP und LiteSpeed. Das PHP-Team stuft mod_php als größtes Risiko ein, weil eine Anfrage den Angriff auslösen kann, bevor überhaupt Anwendungscode läuft. Das bedeutet auch: Die Anwendung darüber (WordPress, ein Onlineshop, ein eigenes Portal) schützt Sie nicht von selbst, der Fix liegt in PHP.
Gepatchte Versionen und Zeitablauf
- 21. Oktober 2026: Das PHP-Projekt veröffentlichte 8.2.35, 8.3.36, 8.4.27 und 8.5.12 mit dem Fix. Am selben Tag veröffentlichte das slowakische nationale CSIRT SK-CERT eine Warnung und die CISA gab einen Alert heraus.
- 26. Oktober 2026: Die CISA nahm beide CVEs in ihren Known Exploited Vulnerabilities Catalog auf, die Liste von Schwachstellen mit Belegen für eine tatsächliche Ausnutzung.
PHP 8.1 und älter erhalten vom PHP-Projekt keine Updates mehr (siehe unterstützte Versionen). Die Meldung weist darauf hin, dass manche Linux-Distributionen und Anbieter von Langzeitsupport Fixes zurückportieren und dass das PHP-Sicherheitsteam minimale Quellcode-Backports für 7.4, 8.0 und 8.1 für alle veröffentlicht hat, die PHP selbst kompilieren. Läuft Ihr Dienst auf einem dieser Zweige, fragen Sie Ihren Anbieter, ob der Fix enthalten ist, und planen Sie den Umstieg auf einen unterstützten Zweig.
So finden Sie heraus, welche PHP-Version Sie einsetzen
Die verbindliche Antwort liefert der Server selbst, nicht der Blick von außen:
- Fragen Sie den Betreiber des Dienstes (Hoster, Agentur oder IT-Abteilung) nach der genauen PHP-Version und ob sie die Fixes vom 21. Oktober enthält.
- Mit Shell-Zugang führen Sie
php -vaus. Der Webserver nutzt möglicherweise ein anderes PHP-Binary als die Kommandozeile, prüfen Sie daher auch die Version im Hosting-Panel oder im PHP-FPM-Pool. - Paketmanager zeigen die Builds der Anbieter: unter Debian und Ubuntu
dpkg -l | grep php, unter RHEL und ähnlichen Systemenrpm -qa | grep php. Vergleichen Sie die Paketversion mit dem Sicherheitshinweis Ihres Anbieters, denn Anbieter behalten oft die ursprüngliche Versionsnummer bei und ergänzen nur den Fix.
Von außen geben manche Server ihre Version in den HTTP-Antwortheadern preis:
X-Powered-By: PHP/8.3.12
Server: Apache/2.4.62 (Debian)
Ihre eigenen Header sehen Sie mit curl -sI https://www.example.com/. Unser PHP2Shell-Check liest dieselben 2 Header, X-Powered-By und Server, und vergleicht die Nummer mit den gepatchten Versionen.
Was der Header aussagt und was nicht
Lesen Sie den Header sorgfältig, und zwar in beide Richtungen:
- Eine alte Nummer beweist nicht, dass der Server verwundbar ist. Viele Hoster spielen den Fix auf Systemebene ein und behalten die ursprüngliche Versionsangabe bei.
- Eine aktuelle Nummer ist ein gutes Zeichen, aber kein Beweis. Der Header lässt sich ändern oder wird von einem vorgeschalteten Proxy gesetzt.
- Keine Nummer heißt keine Information. Die meisten Server senden ihre PHP-Version gar nicht. Als wir am 31. Oktober 2026 8.221 Domains slowakischer Unternehmen gemessen haben, meldeten nur 332 der 8.171 antwortenden Domains eine PHP-Version in ihren Headern (4,1 %). Bei allen anderen sagt der Header weder das eine noch das andere, und die Frage geht an den Betreiber des Dienstes.
Was jetzt zu tun ist
- Aktualisieren Sie PHP auf 8.2.35, 8.3.36, 8.4.27, 8.5.12 oder neuer, oder installieren Sie das gepatchte Paket Ihres Anbieters. Starten Sie PHP-FPM oder den Webserver neu, damit die neue Version tatsächlich läuft.
- Fragen Sie Ihren Hoster schriftlich, welche PHP-Version Ihren Dienst betreibt und ob sie die Fixes für CVE-2026-109618 und CVE-2026-109619 enthält. Fragen Sie dasselbe für Staging-Server und ältere Projekte, siehe vergessene Staging- und Testserver.
- Planen Sie den Abschied von PHP 8.1 und älter, falls kein zurückportierter Fix verfügbar ist.
- Hören Sie auf, die Version anzukündigen. Setzen Sie
expose_php = Offin derphp.ini, umX-Powered-Byzu entfernen, und beschränken Sie denServer-Header (ServerTokens Prodbei Apache,server_tokens offbei nginx). Das behebt allein nichts, verrät automatisierten Scannern aber keine Details mehr. Mehr dazu in HTTP-Sicherheitsheader, die jede Unternehmenswebsite senden sollte.
Wenn Sie nicht sofort aktualisieren können, nennt die Meldung vorübergehende Maßnahmen, die bestimmte Angriffswege einschränken, und stellt klar, dass nur das Update eine vollständige Lösung ist.
Wie Datahorses hilft
Wir beobachten Ihr Unternehmen jeden Tag von außen, so wie ein Angreifer es sehen würde, und brauchen dafür keinen Zugang zu Ihren Systemen. Sobald ein Server eine veraltete Softwareversion preisgibt, erhält der Betreiber zum Befund genaue Handlungsschritte. Sehen Sie sich an, was wir überwachen, oder fordern Sie ein Angebot an.
Weitere Artikel
Wie Sie einen Cybersecurity-Dienstleister vor der Unterschrift prüfen
Ein Sicherheitsdienstleister erhält tiefe Einblicke in Ihr Unternehmen und manchmal auch Zugang dazu. Diese Fragen und Dokumente sollten Sie prüfen, bevor Sie etwas unterschreiben.
SPF, DKIM und DMARC einfach erklärt für Unternehmer
3 DNS-Einträge entscheiden, ob jemand E-Mails versenden kann, die scheinbar von Ihrer Domain stammen. Was jeder davon leistet und wie Sie Ihre in wenigen Minuten prüfen.
CEO-Fraud und Chef-Imitation: wie Social Engineering auf Zahlungen zielt
Eine Nachricht, scheinbar von Ihrem Geschäftsführer, verlangt eine dringende, vertrauliche Zahlung. So funktioniert die Imitation von Führungskräften, und mit diesen einfachen Regeln stoppen Sie sie.