Am 21. Oktober 2026 hat das PHP-Team dringende Sicherheitsupdates PHP 8.5.12, 8.4.27, 8.3.36 und 8.2.35 veröffentlicht. Sie schließen zwei kritische Schwachstellen, die eine unauthentifizierte Remote-Codeausführung ermöglichen: CVE-2026-109618 und CVE-2026-109619. Beide haben eine Bewertung von CVSS v4.0 9.2. In den Medien werden sie zusammen als PHP2Shell bezeichnet.
Was ist passiert
Beide Schwachstellen hängen damit zusammen, dass PHP den Speicher in einem beschädigten Zustand zurücklassen kann, wenn eine Anfrage fehlerhaft endet:
- CVE-2026-109618 (GHSA-w8hw-w9fx-j79w): RCE durch Speicherbeschädigung bei Speichermangel (OOM). Wenn eine Anfrage im ungünstigen Moment das
memory_limiterreicht, bleiben die internen Daten der Anfrage nur teilweise initialisiert. Beim Aufräumen der Anfrage kann PHP sie für korrekt halten. Auf Apache mit mod_php lässt sich der Angriff mit einer unauthentifizierten Anfrage noch vor der Ausführung des Anwendungscodes auslösen. Laut der PHP Foundation wurde die vollständige Remote-Codeausführung mit Standardeinstellungen demonstriert. Bei PHP-FPM wurde RCE über Codepfade der Anwendung bestätigt. - CVE-2026-109619 (GHSA-6wmf-4rv5-p3rp): RCE durch „veralteten" globalen Zustand. Ein fataler Fehler im ungünstigen Moment kann einen internen Zustand hinterlassen, der auf bereits freigegebenen Speicher der vorherigen Anfrage verweist. Die nächste Anfrage im selben Worker kann diesen Speicher nutzen (Use-after-free). Folgen: Offenlegung von Daten aus dem Speicher, Absturz des Workers und Codeausführung.
Wen betrifft es
Laut dem PHP-Team sind alle PHP-Installationen, die Webanfragen bedienen, gefährdet: PHP-FPM, Apache mit mod_php, php-cgi, FrankenPHP und LiteSpeed. Das höchste Risiko besteht bei mod_php.
Betroffene Versionen (laut AWS-Bulletin):
- PHP 8.5.0–8.5.11: behoben in 8.5.12
- PHP 8.4.0–8.4.26: behoben in 8.4.27
- PHP 8.3.0–8.3.35: behoben in 8.3.36
- PHP 8.2.0–8.2.34: behoben in 8.2.35
- PHP 8.1 und älter werden vom PHP-Projekt nicht mehr unterstützt. Das PHP-Sicherheitsteam hat minimale Backports des Quellcodes für 7.4, 8.0 und 8.1 veröffentlicht. Prüfen Sie auch die Updates Ihrer Distribution oder Ihres LTS-Anbieters.
Die Korrekturen sind auch in den Test-Build PHP 8.6.0 RC4 eingeflossen.
Wie ernst ist das
PHP läuft auf den meisten Websites weltweit, darunter WordPress, Joomla, Drupal, Laravel und Symfony. Laut BleepingComputer hat Cloudflare bereits vor der Veröffentlichung der Patches erste Angriffsversuche festgestellt und vorübergehende WAF-Regeln ausgerollt. Das britische NCSC hat dazu aufgerufen, sofort zu aktualisieren oder gefährdete Systeme vorübergehend abzuschalten. Die PHP-Entwickler betonen, dass es keine vollwertigen Umgehungslösungen gibt: Zuverlässig schützt nur das Update.
Was jetzt zu tun ist
- Prüfen Sie die PHP-Version. Führen Sie in der Konsole
php -vaus. Für den Webserver kann die Version abweichen, prüfen Sie sie daher überphpinfo()oder im Hosting-Panel. Für FPM führen Siephp-fpm -vaus (oder zum Beispielphp-fpm8.3 -v). - Aktualisieren Sie auf 8.5.12, 8.4.27, 8.3.36 oder 8.2.35. Installieren Sie unter Linux die aktualisierten Pakete Ihrer Distribution (die Distributionen haben die Patches vorab erhalten), zum Beispiel
apt update && apt upgradeoderdnf upgrade php*. - Starten Sie alle Worker von PHP-FPM, Apache und anderen SAPIs neu. Bauen Sie Docker-Images neu und stellen Sie sie erneut bereit.
- Wenn Sie PHP 8.1 oder älter verwenden, planen Sie die Migration auf einen unterstützten Zweig. Beachten Sie außerdem, dass der Support für PHP 8.2 am 31. Dezember 2026 endet.
Vorübergehende Maßnahmen, falls ein sofortiges Update nicht möglich ist (sie verringern nur das Risiko, beseitigen es aber nicht):
- Für CVE-2026-109618: Setzen Sie
memory_limit=-1überphp_admin_value, damit die Anwendung diesen Wert nicht ändern kann. Reduzieren Siepost_max_sizeauf 8M (oder auf 32M, falls Datei-Uploads erforderlich sind). Begrenzen Sie Größe und Komplexität der Anfragen auf Ebene des Webservers oder Proxys. - Für CVE-2026-109619: Setzen Sie
session.upload_progress.enabled=0in der php.ini oder in der FPM-Pool-Konfiguration und starten Sie die Worker neu. Unter PHP 8.5 setzen Sie zusätzlichfatal_error_backtraces=0.
Quellen
- php.net: Security advisory: Critical remote code execution vulnerabilities
- The PHP Foundation: Today's PHP Security Release
- AWS Security Bulletin 2026-143-AWS
- BleepingComputer: PHP ships emergency patches for critical PHP2Shell flaws
- Canadian Centre for Cyber Security: AL26-026
Wir aktualisieren Ihr Projekt auf die neue PHP-Version
Das Team von CRM Go aktualisiert Kundenprojekte auf die aktuellen geschützten PHP-Versionen. Wir prüfen die Code-Kompatibilität, aktualisieren Abhängigkeiten und Frameworks, testen das Projekt und stellen das Update ohne Ausfallzeit der Website bereit. Wenn Sie nicht sicher sind, ob Ihr Server bereits vor PHP2Shell geschützt ist, schreiben Sie uns, und wir helfen Ihnen.
