CVE-2026-109618

Aus Xinux Wiki
(Weitergeleitet von CVE-2026-109619)
Zur Navigation springen Zur Suche springen

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.