CVE-2026-109618
Beschreibung
CVE-2026-109618 und CVE-2026-109619, zusammen bekannt als „PHP2Shell", sind zwei kritische Sicherheitslücken im PHP-Core selbst, nicht in einer einzelnen Anwendung (CVSS 9.2, „kritisch"). Beide wurden am 21.10.2026 bekannt und sind ohne Anmeldung aus der Ferne ausnutzbar (unauthenticated remote code execution).
- CVE-2026-109618
Eine Speicherverwaltung außerhalb des verfügbaren Arbeitsspeichers (Out-of-Memory-Handling)
kann PHP mitten in der Verarbeitung einer Anfrage unterbrechen, während deren Daten erst teilweise
aufgebaut sind. Die anschließende Aufräumroutine behandelt diese unvollständigen Daten fälschlich
als gültig. Auslöser ist unter anderem das Parsen von Multipart-Uploads (multipart/form-data),
wie es praktisch jede Datei-Upload-Funktion verwendet.
- CVE-2026-109619
Zustand, der eigentlich nur einer einzelnen Anfrage gehört, kann seine eigene Freigabe im Speicher überleben. Eine spätere Anfrage auf demselben PHP-FPM-Worker kann diesen bereits freigegebenen Speicher benutzen, bevor er zurückgesetzt wurde (Use-after-free über Anfragegrenzen hinweg).
Betroffen
Alle PHP-Installationen vor den gepatchten Versionen:
| Zweig | gepatcht ab |
|---|---|
| PHP 8.5 | 8.5.12 |
| PHP 8.4 | 8.4.27 |
| PHP 8.3 | 8.3.36 |
| PHP 8.2 | 8.2.35 |
| PHP 8.1 und älter | kein offizieller Fix mehr |
Nach Angaben von Sicherheitsforschern reicht die zugrundeliegende Schwachstelle in ihrer Wirkung bis PHP 5.4 zurück, offiziell bestätigt ist das für die PHP-5-Reihe nicht.
Einschätzung zur Ausnutzung
Ein Proof of Concept ist öffentlich geleakt, ein fertiges Angriffswerkzeug kursiert bereits. Massenhafte, automatisierte Ausnutzung wird von mehreren Sicherheitsfirmen erwartet bzw. beobachtet, unter anderem unauthentifizierte Codeausführung gegen Magento-Installationen. Scans auf Internet-Teleskopen zählen weltweit mehrere Millionen potenziell betroffene, erreichbare Instanzen.
Proof of Concept
PoC folgt.
Fix
- Gepatchte Version einspielen (der eigentliche Fix)
- Debian/Ubuntu:
apt update && apt upgrade - RHEL/Rocky:
dnf update - Docker-Images: Image neu ziehen – Achtung, offizielle Images waren am Tag der Veröffentlichung
teils noch nicht mit dem gepatchten PHP neu gebaut. Nach dem Update mit php -v die
tatsächliche Version prüfen, nicht nur das Datum des Image-Zugs.
- Nach dem Update den PHP-Prozess (php-fpm, Apache-Modul, Container) neu starten, ein
apt upgrade
allein reicht nicht.
- Wenn (noch) kein Patch verfügbar ist
- Betroffenen Dienst vom Internet trennen oder hinter eine Firewall/VPN legen, bis gepatcht werden kann.
- Multipart-Uploads am Reverse Proxy/WAF einschränken oder vorübergehend blocken (Auslöser von CVE-2026-109618).
- PHP 8.1 oder älter: Umstieg auf einen unterstützten Zweig (mind. 8.2), da es keinen offiziellen Fix gibt.