Sicherheit & Datenschutz

PHP veröffentlicht Notfall-Patches für kritische PHP2Shell-Remote-Code-Ausführungsschwachstellen

PHP hat dringende Updates veröffentlicht, um zwei kritische Schwachstellen in seiner Runtime-Engine zu beheben, die eine unauthentifizierte Remote-Code-Ausführung ermöglichen. Die Fehler betreffen nahezu alle PHP-Versionen und werden bereits ausgenutzt.

Illustration eines verwundbaren Servers mit zerbrechendem Glas und austretenden Schaltkreisen
Für diesen Artikel generierte Illustration

Automatisch aus dem englischen Original übersetzt.

Das PHP-Projekt hat am 21. Oktober 2026 Notfall-Sicherheitsupdates veröffentlicht, um zwei kritische Schwachstellen zu beheben, die zusammen als PHP2Shell bezeichnet werden. Diese Fehler befinden sich im Kern der PHP-Runtime und nicht in einzelnen Anwendungen, was Angreifern ermöglicht, beliebigen Code auf Webservern ohne Authentifizierung auszuführen. Die Veröffentlichung erfolgte einen Tag früher als geplant, nachdem Details zu den Schwachstellen online durchgesickert waren, was das PHP-Sicherheitsteam zu sofortigem Handeln veranlasste.

Was passiert ist

Die Schwachstellen, identifiziert als CVE-2026-109618 und CVE-2026-109619, tragen eine CVSS-v4.0-Schweregradbewertung von 9,2. Sie betreffen nahezu jede PHP-Version seit PHP 5.4. Die Korrekturen sind in PHP 8.5.12, 8.4.27, 8.3.36 und 8.2.35 verfügbar. Da diese Fehler im Sprach-Engine selbst existieren, ist auch eine statische „Hello World“-Seite, die von einer verwundbaren PHP-Installation bereitgestellt wird, gefährdet. Das höchste Risiko besteht bei Servern, die Apaches mod_php verwenden, wo eine einzelne unauthentifizierte Anfrage den Exploit auslösen kann, bevor jeglicher Anwendungscode ausgeführt wird.

Forscher von Wiz, Calif und OpenAI haben die Schwachstellen entdeckt und gemeldet. Ihre Arbeit, unterstützt durch KI-Tools, beschleunigte die Identifizierung funktionierender Exploits für Code, der seit über einem Jahrzehnt in PHP vorhanden war. Bevor der offizielle Patch veröffentlicht wurde, beobachtete Cloudflare frühe Ausnutzungsversuche gegen seine Kunden. Zum Zeitpunkt der Patch-Veröffentlichung bestätigte das Sicherheitsunternehmen watchTowr aktive Ausnutzungsversuche für beide CVEs, obwohl zu diesem Zeitpunkt keine spezifischen erfolgreichen Einbrüche öffentlich bestätigt worden waren. Große Dienste, darunter BambooHR und mehrere niederländische Regierungsplattformen, nahmen Systeme vorsorglich offline.

Wie es funktioniert

Diese Schwachstellen ermöglichen es Angreifern, Speicher aus dem PHP-Worker-Prozess zu lesen und potenziell eine Remote-Code-Ausführung zu erreichen. Dieser Speicherzugriff kann sensible Daten wie Passwörter, API-Schlüssel und Authentifizierungs-Tokens aus anderen Anfragen offenlegen, ohne dass der Angreifer zunächst Privilegien zur Codeausführung erlangt. Das Risikoprofil variiert je nach Serverkonfiguration. Während mod_php hochgradig anfällig für unmittelbare Ausnutzung ist, bietet PHP-FPM einen gewissen natürlichen Widerstand, da es Worker beendet, wenn Anfragen während des Setups fehlschlagen. Forscher demonstrierten jedoch, dass einer der Fehler unter bestimmten Bedingungen, die Operationen innerhalb der laufenden Anwendung betreffen, dennoch eine Codeausführung auf PHP-FPM erreichen konnte.

Der Offenlegungsprozess wurde gestört, als ein Forschungsunternehmen versehentlich ein Proof-of-Concept-Video veröffentlichte und ein Anbieter gepatchte Container-Images Stunden vor der offiziellen Freigabe publizierte. Diese vorzeitige Bekanntmachung zwang das PHP-Team dazu, seinen Zeitplan zu beschleunigen. Die zugrunde liegenden Probleme resultierten aus komplexen Mechanismen zum Speichermanagement und zur Sitzungsverwaltung, die seit Jahren Teil von PHP waren. Eine externe Auditierung im Jahr 2024 hatte zunächst Anzeichen für den Out-of-Memory-Fehler hinter CVE-2026-109618 erkannt, aber ein konkreter Angriffsvektor wurde erst durch kürzlich durchgeführte KI-gestützte Forschung etabliert, die den Exploit-Pfad klärte.

Wichtige Details

  • Betroffene Versionen: Alle PHP-Versionen von 5.4 bis 8.5.11, 8.4.26, 8.3.35 und 8.2.34 sind verwundbar.
  • Behobene Versionen: Aktualisieren Sie sofort auf PHP 8.5.12, 8.4.27, 8.3.36 oder 8.2.35.
  • Höchstes Risiko: Server, die Apache mod_php verwenden, sind am anfälligsten für unauthentifizierte Remote-Code-Ausführung.
  • Teilweise Gegenmaßnahmen: Für CVE-2026-109619 reduziert das Setzen von session.upload_progress.enabled=0 das Risiko, behebt das Problem jedoch nicht vollständig.
  • Legacy-Support: PHP 8.1 und ältere Versionen sind end-of-life; Source-Backports sind für PHP 7.4, 8.0 und 8.1 für jene verfügbar, die aus dem Quellcode bauen.
  • Erkennungsmerkmale: Achten Sie auf ungewöhnliche Multipart-Anfragen, Speicherlimit-Fehler, wiederholte HTTP-500-Antworten und unerwartete Neustarts von PHP-Workern.

Warum es wichtig ist

Für Software-Ingenieure und IT-Leiter hebt dieser Vorfall den entscheidenden Unterschied zwischen Sicherheit auf Anwendungsebene und Schwachstellen auf Runtime-Ebene hervor. Das Aktualisieren von Frameworks wie Laravel oder WordPress schützt nicht vor PHP2Shell, da der Fehler im zugrunde liegenden Interpreter liegt. Das bedeutet, dass selbst gut auditierte Anwendungen exponiert sind, wenn die Serverumgebung nicht gepatcht ist. Die Geschwindigkeit, mit der KI-gestützte Forschung langjährige theoretische Bugs in funktionierende Exploits verwandelte, unterstreicht zudem die Notwendigkeit schneller Patch-Zyklen. Auf ein geplantes Wartungsfenster zu warten, ist für kritische Runtime-Schwachstellen keine tragfähige Strategie mehr.

Die Störungen durch vorzeitige Leaks und aktive Ausnutzungsversuche zeigen die Fragilität koordinierter Offenlegung in der modernen Bedrohungslandschaft. Organisationen müssen robuste Pläne für die Incident Response haben, die die Fähigkeit einschließen, Infrastrukturkomponenten schnell zu aktualisieren. Sich ausschließlich auf Konfigurationsanpassungen als Gegenmaßnahme zu verlassen, ist gefährlich, da die PHP-Core-Entwickler ausdrücklich erklärten, dass nur ein Update vollständigen Schutz bietet. Dieses Ereignis dient als Erinnerung daran, dass Infrastrukturabhängigkeiten dieselbe Wachsamkeit erfordern wie Anwendungscode.

Was Sie tun können

  • Identifizieren Sie alle Server, auf denen PHP läuft, und prüfen Sie deren aktuelle Versionsnummern anhand der oben aufgeführten behobenen Releases.
  • Aktualisieren Sie das PHP-Runtime-Paket über Ihren Systempaketmanager oder erstellen Sie Container-Images mit den gepatchten Versionen neu.
  • Starten Sie alle Webserver, PHP-FPM-Pools und langlaufenden PHP-Worker neu, um sicherzustellen, dass die neue Binary geladen wird.
  • Wenn ein sofortiges Update nicht möglich ist, wenden Sie teilweise Gegenmaßnahmen an, wie das Deaktivieren des Session-Upload-Fortschritts und das Durchsetzen strenger Speicherlimits, planen Sie aber ASAP das Patching.
  • Überwachen Sie Logs auf Indikatoren für Kompromittierungen, einschließlich seltsamer Multipart-Formularübermittlungen und plötzlicher Spitzen bei 500er-Fehlern.
  • Stellen Sie sicher, dass das Changelog des Pakets Ihrer Linux-Distribution die relevanten CVE-Korrekturen enthält, da Versionsstrings in LTS-Distributionen den Patch-Status nicht immer widerspiegeln.
  • #php
  • #security
  • #vulnerability
  • #web-server
  • #patching

Tools aus dem Bytechap-Shop

Weiterlesen

Alle Artikel