Sicherheit & Datenschutz

PHP veröffentlicht dringende Sicherheitspatches für kritische Schwachstellen zur Remote-Code-Ausführung

PHP 8.5.12, 8.4.27, 8.3.36 und 8.2.35 beheben zwei kritische Sicherheitslücken, die unauthentifizierten Angreifern über Speicherfehler und veralteten globalen Zustand eine Remote-Code-Ausführung ermöglichen.

Illustration eines Serverschranks mit Rissen und auslaufenden leuchtenden Schaltkreisen, die Sicherheitslücken darstellen.
Für diesen Artikel generierte Illustration

Automatisch aus dem englischen Original übersetzt.

Das PHP-Projekt hat sofortige Sicherheitsupdates für die Versionen 8.5.12, 8.4.27, 8.3.36 und 8.2.35 veröffentlicht, um zwei kritische Sicherheitslücken zu beheben. Diese Schwachstellen ermöglichen es nicht authentifizierten Angreifern, unter bestimmten Bedingungen beliebigen Code auf Servern auszuführen, auf denen PHP läuft. Die Veröffentlichung folgte auf einen koordinierten Offenlegungsprozess, der teilweise durch vorzeitige Leaks von Schwachstellen-Identifikatoren gestört wurde.

Was passiert ist

Die aktualisierten Releases patchen CVE-2026-109618 und CVE-2026-109619, beide mit hoher Schweregrad-Bewertung. Die erste Schwachstelle betrifft die Remote-Code-Ausführung durch Out-of-Memory-(OOM)-Korruption. Wenn eine Anfrage genau in dem Moment das PHP-Speicherlimit erreicht, kann die Engine teilweise initialisierte interne Daten im Speicher belassen. Spätere Operationen können diese Daten als gültig behandeln, was zu Speicherkorruption führt. Bei Apache mit mod_php kann eine nicht authentifizierte Anfrage dies auslösen, bevor jeglicher Anwendungscode ausgeführt wird, was eine vollständige Remote-Code-Ausführung selbst bei Standard-Einstellungen ermöglicht. Forscher bestätigten zudem Exploit-Pfade über PHP-FPM durch anwendungsspezifischen Code.

Die zweite Schwachstelle resultiert aus der Handhabung veralteter globaler Zustände. Ein fataler Fehler an einer bestimmten Stelle kann dazu führen, dass interne Pointer auf Speicher verweisen, der aus einer vorherigen Anfrage freigegeben wurde. Nachfolgende Anfragen, die vom selben Worker-Prozess verarbeitet werden, könnten auf diesen freigegebenen Speicher zugreifen, was zu Use-after-Free-Fehlern, Worker-Abstürzen und potenziell Remote-Code-Ausführung führt. Dies wurde gegen reale Anwendungen demonstriert, die auf Apache mit mod_php laufen. Beide Probleme liegen in Kernkomponenten, die von nahezu jeder Anfrage berührt werden, was sie besonders gefährlich macht und deren Behebung ohne Auswirkungen auf die Leistung oder Kompatibilität mit Drittanbieter-Erweiterungen schwierig ist.

Wie es funktioniert

Diese Schwachstellen nutzen grundlegende Aspekte des PHP-Speichermanagements und der Fehlerbehandlungssysteme aus. Im OOM-Szenario versagt die Engine darin, ihren internen Zustand sauber zurückzusetzen, wenn Speicherlimits erreicht werden. Anstatt sicher anzuhalten, hinterlässt sie korrumpierte Strukturen, die nachfolgende Operationen fälschlicherweise als gültige Daten interpretieren. Dies ermöglicht es einem Angreifer, das Speicherlayout zu manipulieren, indem er die Erschöpfung des Speichers an strategischen Punkten auslöst, um schließlich die Kontrolle über den Ausführungsfluss zu erlangen.

Das Problem mit veralteten globalen Zuständen entsteht durch die Art und Weise, wie PHP Ressourcen über mehrere Anfragen innerhalb desselben Worker-Prozesses hinweg verwaltet. Wenn ein fataler Fehler auftritt, invalidieren Bereinigungsroutinen möglicherweise nicht vollständig Pointer auf zuvor allozierten Speicher. Wenn eine neue Anfrage diese hängenden Pointer wiederverwendet, greift sie auf ungültige Speicherbereiche zu. Angreifer können Sequenzen von Anfragen erstellen, die diese Fehler auslösen, und dann die daraus resultierende Speicherkonfusion ausnutzen, um bösartigen Code einzuschleusen und auszuführen. Da diese Mechanismen zentral für den Betrieb von PHP sind, erforderte ihre Behebung eine sorgfältige Abwägung zwischen Sicherheit, Leistung und Rückwärtskompatibilität.

Wichtige Details

  • Betroffene Versionen: PHP 8.5.12, 8.4.27, 8.3.36 und 8.2.35 enthalten die Fixes; ältere, nicht unterstützte Versionen bleiben verwundbar.
  • CVE-2026-109618: Remote-Code-Ausführung durch Out-of-Memory-Korruption, ausnutzbar auf Apache/mod_php ohne Authentifizierung.
  • CVE-2026-109619: Remote-Code-Ausführung durch veraltete globale Zustände und Use-after-Free, bestätigt auf Apache/mod_php.
  • Störung der Offenlegung: CVE-IDs wurden am 20. Oktober geleakt, was zu einem beschleunigten Release-Zeitplan führte (vom 22. Oktober auf den 21. Oktober vorgezogen).
  • Forschungsbeiträge: Calif, OpenAI, Wiz und Trail of Bits identifizierten und meldeten die Schwachstellen über Kanäle für verantwortungsvolle Offenlegung.
  • Ursprungsgeschichte: Das OOM-Problem wurde erstmals 2024 theoretisiert, fehlte aber bis vor kurzem einen konkreten Exploit-Vektor, bis KI-gestützte Forschung den Angriffspfad klärte.

Warum das wichtig ist

Für Teams, die PHP-Anwendungen warten, stellen diese Schwachstellen ein erhebliches Risiko dar, da sie ohne Authentifizierung ausgelöst werden können und das Verhalten der Core-Engine betreffen. Die Tatsache, dass eine Ausnutzung auf Standardkonfigurationen möglich ist, bedeutet, dass viele Produktionsumgebungen bis zum Patchen exponiert sind. Die Komplexität der Fixes hebt die technische Schuld hervor, die sich in langjährigen Projekten wie PHP angesammelt hat, wo Änderungen an der Logik des Speichermanagements riskieren, unzählige Drittanbieter-Erweiterungen und bestehende Anwendungen zu brechen.

Der Vorfall unterstreicht auch die sich entwickelnde Landschaft der Software-Sicherheitsforschung. KI-gestützte Tools spielten eine große Rolle bei der Identifizierung und Validierung dieser Schwachstellen und beschleunigten den Entdeckungsprozess im Vergleich zu traditionellem manuellem Auditing. Allerdings erhöht dieselbe Technologie das Volumen der Berichte, die Sicherheitsteams triagieren müssen, einschließlich vieler ungültiger oder doppelter Einreichungen. Die kürzlich getätigten Investitionen der PHP Foundation in professionelles Sicherheitspersonal und automatisierte Tooling waren entscheidend, um diesen Zustrom zu bewältigen und zeitnahe Patches bereitzustellen, was die Notwendigkeit einer nachhaltigen Finanzierung der Sicherheit von Open-Source-Infrastrukturen demonstriert.

Was Sie tun können

  • Aktualisieren Sie Ihre PHP-Installationen sofort auf Version 8.5.12, 8.4.27, 8.3.36 oder 8.2.35, je nachdem, welchen Branch Sie aktuell verwenden.
  • Stellen Sie sicher, dass Ihr Deployment-Pipeline diese aktualisierten Versionen automatisch von Ihrem Paketmanager oder Distributionsrepository beziehen kann.
  • Überprüfen Sie Server-Logs auf ungewöhnliche Ereignisse zur Speichererschöpfung oder fatale Fehler, die auf Versuche einer Ausnutzung vor dem Patching hinweisen könnten.
  • Erwägen Sie, die PHP Foundation zu sponsern, wenn Ihre Organisation auf PHP angewiesen ist, da ihre Arbeit direkt die Sicherheit und Stabilität des Ökosystems unterstützt.
  • Beobachten Sie offizielle PHP-Kanäle auf weitere Warnhinweise, da der jüngste Leak die Entwicklung öffentlicher Proof-of-Concept-Exploits beschleunigt haben könnte.
  • Bewerten Sie Ihre Nutzung von mod_php versus PHP-FPM, da sich die Angriffsvektoren zwischen diesen Konfigurationen leicht unterscheiden, obwohl beide betroffen sind.
  • #php
  • #security
  • #vulnerability
  • #open source
  • #memory safety

Tools aus dem Bytechap-Shop

Weiterlesen

Alle Artikel