Zum Hauptinhalt springen
CVE-2026-109618 · CVE-2026-109619

PHP-Sicherheitsupdate (php2shell)

php2shell ist der Name für zwei kritische PHP-Lücken, die am 21. Oktober 2026 veröffentlicht wurden (CVSS v4.0 9.2, ohne Authentifizierung). Sie betreffen jede Website, die Anfragen mit PHP beantwortet, ob WordPress, Drupal, Joomla, Magento, PrestaShop oder Laravel. Behoben sind sie in 8.5.12, 8.4.27, 8.3.36 und 8.2.35.

Haben Sie diese Schwachstelle? Wir aktualisieren PHP, setzen die vorübergehende Gegenmaßnahme dort um, wo das Update noch nicht möglich ist, und prüfen, ob es Spuren eines Einbruchs gibt.

Was passiert ist

php2shell: zwei kritische Lücken im Interpreter selbst

Am 21. Oktober 2026 veröffentlichte das PHP-Projekt neue Versionen, die CVE-2026-109618 und CVE-2026-109619 beheben. Es zog die Veröffentlichung auf 14:00 UTC vor, weil am Vortag ein Beitrag auf Hacker News die Kennungen vor Ablauf des Embargos öffentlich gemacht hatte.

CVE-2026-109618 ist eine Speicherbeschädigung: Geht PHP mitten in der Vorbereitung der Anfragedaten der Speicher aus, behandelt die Aufräumroutine ungültige Daten als gültig. Eine manipulierte Multipart-Anfrage, die den Speicher erschöpft, reicht aus, auch wenn ihre Größe innerhalb der Limits zu liegen scheint. CVE-2026-109619 lässt bereits freigegebenen internen Zustand zwischen Anfragen bestehen, und eine spätere Anfrage im selben Worker verwendet ihn weiter. Huntress beschreibt das als Heap-Use-after-free ohne Authentifizierung, mit Speicherabfluss und Remotecodeausführung mit den Rechten des Web-Workers.

Die Lücke steckt in PHP. Ein Update des CMS oder der Plugins behebt sie deshalb nicht. Laut php.net sind alle Installationen betroffen, die Webanfragen beantworten: PHP-FPM, Apache mit mod_php, php-cgi, FrankenPHP und LiteSpeed. Am höchsten ist das Risiko mit mod_php, wo die Lücke laut Rapid7 ausnutzbar ist, bevor überhaupt Anwendungscode läuft. Wiz zeigte Remotecodeausführung ohne Authentifizierung gegen WordPress, Drupal und Joomla sowie einen Weg zum Speicherabfluss, über den Passwörter, Tokens, API-Keys und Zertifikate offengelegt werden könnten.

Stand 21. Oktober rechnete Rapid7 mit Angriffen, und mehrere Teams reproduzierten die Lücke; Huntress hatte bei seinen Kunden keine Ausnutzung beobachtet. Das britische NCSC und CERT-EU gaben am selben Tag Warnungen heraus. Laut W3Techs läuft PHP auf rund 69,7 % der Websites, deren serverseitige Sprache bekannt ist.

Quellen: php.net · Rapid7 · Huntress · NCSC · Infosecurity Magazine

Sind Sie betroffen?

Korrigierte PHP-Versionen

Wenn Ihr Server Webanfragen mit PHP beantwortet und die Version älter ist als die für seinen Zweig in dieser Tabelle, sind Sie betroffen. Linux-Distributionen mit erweitertem Support haben ihre Pakete früher ausgeliefert: Dort zählt das Advisory des Anbieters, nicht die Versionsnummer.

Zweig Behoben in Hinweis
8.5 8.5.12
8.4 8.4.27
8.3 8.3.36
8.2 8.2.35 Lebensende am 31.12.2026
8.1, 8.0, 7.4 Keine offizielle Version PHP hat minimale Backports im Quellcode für Selbstkompilierer veröffentlicht
7.3 und älter Keine Korrektur Auf einen unterstützten Zweig wechseln

Prüfen Sie das

  • Ihre Website läuft mit WordPress, Drupal, Joomla, Magento, PrestaShop, Laravel oder einer anderen PHP-Anwendung, die aus dem Internet erreichbar ist.
  • php -v oder php-fpm -v zeigen eine niedrigere Nummer als die Ihres Zweigs in der Tabelle.
  • Sie nutzen Apache mit mod_php: Das ist die riskanteste Konfiguration.
  • Sie nutzen das PHP Ihrer Linux-Distribution: Die Nummer kann gleich bleiben, obwohl das Paket gepatcht ist. Maßgeblich ist das Advisory des Anbieters.
  • Sie sind auf Shared Hosting: Das Update macht der Anbieter, aber Sie sehen die Version im Panel oder mit phpinfo() und können nach einem Termin fragen.
In der Zwischenzeit

Wenn Sie heute nicht aktualisieren können

Das sind die vorübergehenden Gegenmaßnahmen, die das PHP-Projekt veröffentlicht hat. Sie verringern das Risiko, bis das Update steht, ersetzen es aber nicht.

  1. 01 Setzen Sie session.upload_progress.enabled=0 in der php.ini oder im PHP-FPM-Pool und starten Sie alle Worker neu. Mit ini_set() oder .user.ini wirkt es nicht.
  2. 02 Unter PHP 8.5 zusätzlich fatal_error_backtraces=0.
  3. 03 Begrenzen Sie im Webserver oder Proxy die Anfragegröße und die Zahl der Felder, Teile und Header.
  4. 04 post_max_size=8M, wenn die Website keine Datei-Uploads annimmt; 32M, wenn doch.
  5. 05 Wenn Sie nicht aktualisieren können, suchen Sie nach Kompromittierungsindikatoren und Hintertüren. Ist auch keine Gegenmaßnahme möglich, rät das NCSC, eine Trennung des Systems vom Netz zu erwägen.
So gehen wir vor

Sieben Schritte, in dieser Reihenfolge

Wir wenden auf jedem Server dasselbe Verfahren an: zuerst klären, welche Version wo läuft, dann korrigieren und zum Schluss prüfen, ob vor dem Patch jemand eingedrungen ist.

Inventar
Version je Server
Sofortmaßnahme
vorübergehend
Update
8.5.12 · 8.4.27 · 8.3.36
Prüfung
in Produktion
Indikatoren
Logs · Dateien
Secrets
falls nötig
Beobachtung
neue Advisories
01

Versionsinventar

Wir erfassen jeden Server, Container und jedes Hosting, auf dem PHP läuft, mit CLI- und FPM-Version, Betriebsart (FPM, mod_php, CGI) und Zuständigkeit. Die vergessene Website auf einem alten Server bleibt sonst ungepatcht.

02

Sofortmaßnahme

Wo das Update nicht sofort möglich ist, deaktivieren wir session.upload_progress in der php.ini oder im Pool, begrenzen Größe und Teile der Anfragen und starten die Worker neu.

03

Update

Wir wechseln auf die korrigierte Version Ihres Zweigs oder auf das gepatchte Paket Ihrer Distribution. Sind Sie noch auf 8.1 oder älter, erklären wir die beiden Wege: mit den Backports kompilieren oder auf einen unterstützten Zweig migrieren.

04

Prüfung

Wir prüfen die Version, die tatsächlich die Anfragen beantwortet, nicht nur die der Kommandozeile, und ob Website, Formulare und Uploads weiter funktionieren.

05

Suche nach Kompromittierungsindikatoren

Wir gehen Access- und Error-Logs durch, kürzlich geänderte Dateien im Web-Verzeichnis und neue Administratorkonten im CMS.

06

Rotation von Secrets, falls nötig

Gibt es Hinweise auf einen Zugriff oder war der Server dem Speicherabfluss ausgesetzt, ändern wir Datenbankpasswörter, API-Keys, Tokens und Zertifikate.

07

Beobachtung neuer Advisories

Wir halten fest, welche Version auf welchem Server läuft und welche Advisories zu verfolgen sind (PHP, Ihre Distribution, Ihr CMS), damit das nächste Update bei diesem Inventar ansetzt.

Vorher und nachher

Was oft halb erledigt bleibt

Patchen unter Zeitdruck Mit dem Verfahren
Der Hauptserver wird aktualisiert, Staging bleibt auf 8.3.30
Serverliste mit Version vorher und nachher
php -v zeigt 8.3.36, aber FPM liefert weiter die alte Version aus, weil niemand neu gestartet hat
Version am Prozess geprüft, der die Anfragen beantwortet, FPM neu gestartet
Niemand sieht sich die Logs der Tage an, in denen die Website offen war
Logs und Dateien für den Zeitraum der Angreifbarkeit geprüft
Die Datenbank-Zugangsdaten sind dieselben wie vor der Lücke
Secrets rotiert, wenn es Indikatoren oder ein Abflussrisiko gibt

Sie wissen nicht, welche PHP-Version Ihre Website nutzt?

Kostenlose Beratung →
FAQ

Häufige Fragen zu php2shell

Was ist php2shell?
So werden CVE-2026-109618 und CVE-2026-109619 genannt, zwei kritische Lücken (CVSS v4.0 9.2) im PHP-Interpreter, veröffentlicht am 21. Oktober 2026. Sie erlauben es einem Angreifer ohne Zugangsdaten, den Speicher des Prozesses zu beschädigen, der Webanfragen beantwortet, und laut Huntress Code auszuführen und Speicherinhalte abzugreifen.
Ist mein WordPress betroffen, obwohl die Plugins aktuell sind?
Ja, wenn das PHP auf dem Server je nach Zweig älter ist als 8.5.12, 8.4.27, 8.3.36 oder 8.2.35. Die Lücke steckt im Interpreter, ein Update von WordPress oder den Plugins behebt sie nicht.
Reicht es, session.upload_progress zu deaktivieren?
Es verringert das Risiko, bis das Update vorbereitet ist, aber das PHP-Projekt stellt es als vorübergehende Gegenmaßnahme dar. Außerdem muss die Einstellung in der php.ini oder im FPM-Pool stehen und die Worker müssen neu starten: ini_set() und .user.ini wirken nicht.
Ich bin noch auf PHP 7.4 oder 8.0. Was tun?
Diese Zweige und 8.1 erhalten keine offiziellen Versionen mehr. PHP hat minimale Backports im Quellcode für alle veröffentlicht, die ihr PHP selbst kompilieren, und einige Linux-Distributionen mit erweitertem Support bieten gepatchte Pakete. Trifft beides nicht zu, bleibt die Migration auf einen unterstützten Zweig, was meist eine Überarbeitung des Anwendungscodes erfordert.
Und wenn ich Shared Hosting nutze?
Das PHP-Update macht der Anbieter. Sie können die Version im Panel oder mit phpinfo() prüfen, beim Anbieter nachfragen, wann er aktualisiert, und die Website auf eine korrigierte Version umstellen, wenn die Plattform das zulässt.
Legen wir los

Sagen Sie uns, wo Ihr PHP läuft

Wir beginnen mit dem Inventar: welche Version auf jedem Server läuft, was heute erledigt werden muss und was bis zu einem Wartungsfenster warten kann.

PHP-Sicherheitsupdate (php2shell)

Erzählen Sie uns Ihre Herausforderung. Wir schlagen die Lösung vor.

Unverbindlich. Innerhalb von 24 Stunden erhalten Sie ein Angebot mit Umfang, Zeitplan und Budget. Ohne Kleingedrucktes.

Kostenloses Gespräch buchen →