CVE-2026-109618 und CVE-2026-109619: PHP2Shell RCE-Schwachstellen
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Zwei kritische Remote-Code-Ausführungsanfälligkeiten in PHP, bekannt als CVE-2026-109618 und CVE-2026-109619, wurden online geleakt, bevor ihre offizielle Offenlegung stattfand. Die Schwachstellen könnten es Angreifern ermöglichen, beliebige Befehle auf anfälligen Webservern auszuführen. Die Anfälligkeiten können mehrere PHP-Versionen betreffen, möglicherweise einschließlich nicht unterstützter End-of-Life-Zweige.
Untersuchung
Forscher bei watchTowr bestätigten die Schwachstellen und reproduzierten erfolgreich CVE-2026-109618. Huntress überwachte ebenfalls die Offenlegung und bewertete die Wahrscheinlichkeit einer Ausnutzung, wobei darauf hingewiesen wurde, dass zum Zeitpunkt der Berichterstattung keine Angriffe in freier Wildbahn in Partnerumgebungen beobachtet wurden. Dennoch bleibt das Risiko signifikant aufgrund der weit verbreiteten Nutzung von PHP. Forscher konzentrierten sich auf allgemeine Ausnutzungsindikatoren, darunter PHP-Prozesse, die ungewöhnliche Kindprozesse erzeugen.
Minderung
Organisationen sollten sofort alle PHP-Implementierungen inventarisieren, einschließlich Instanzen, die in Drittanbieter-Software integriert sind. Administratoren sollten bereit sein, offizielle PHP-Sicherheits-Patches zu installieren, sobald sie am 21. Oktober veröffentlicht werden. Systeme, die End-of-Life-PHP-Versionen ausführen, die keine Fixes erhalten werden, sollten vom Internet isoliert oder hinter einem VPN oder einer Web Application Firewall (WAF) geschützt werden.
Reaktion
Wenn verdächtige Aktivitäten festgestellt werden, die das Starten von Shells, Interpretern oder Netzwerkdiensten durch PHP-Prozesse umfassen, sollten Administratoren sofort den betroffenen Server isolieren. Das Aufbewahren von Webserver- und PHP-Protokollen ist unerlässlich für die forensische Untersuchung. Sicherheitsteams sollten auch das Web-Root auf neu erstellte Webshells, unautorisierte Dateien, verdächtige Cron-Jobs, geplante Tasks oder neu hinzugefügte Benutzerkonten prüfen.
Angriffsfluss
Wir aktualisieren diesen Teil noch.
Erkennungen
Mögliche Ausnutzung von Webserver oder WebApp [Windows] (über cmdline)
Mögliche Datenexfiltration / Reverse Shell über Bash (via cmdline)
Möglicher PHP-Arbeiter, der ungewöhnlichen Prozess erzeugt (via cmdline)
Mögliche php-Anwendungssteuerung durch Inline-Ausführung eines Reverse Shell (via cmdline)
Erstellung einer FIFO-Spezialdatei (via cmdline)
Potenzielle RCE durch unerwartete Kindprozesse von PHP erkennen [Linux-Prozesserstellung]
Simulationsausführung
-
Angriffserzählung & Befehle: Der Angreifer hat erfolgreich eine Schwachstelle in einer Webanwendung ausgenutzt, die PHP-FPM ausführt. Um eine Basis zu etablieren und mit der Aufklärung zu beginnen, nutzt der Angreifer ein PHP-Skript, um einen Systembefehl auszuführen. Das Ziel des Angreifers ist es, den aktuellen Benutzerkontext zu identifizieren, um das verfügbare Privilegienniveau für weitere laterale Bewegungen zu bestimmen. Der Angreifer führt
whoamidurch denphp-fpmProzess aus, was die ErkennungsregelBild|endet mit: 'whoami'Logik auslösen sollte. -
Regressionstest-Skript:
#!/bin/bash # Simulationsskript, um die PHP RCE-Erkennungsregel auszulösen. # Dieses Skript simuliert einen PHP-FPM-Prozess, der einen Aufklärungsbefehl startet. # 1. Überprüfen, ob wir den übergeordneten Prozess simulieren können. # In einer realen Umgebung ist dies der php-fpm-Daemon. # Zur Simulation verwenden wir eine Subshell, um das Verhalten zu imitieren. echo "[+] Simulation gestartet: PHP-FPM RCE-Erkennung wird ausgelöst..." # Wir verwenden 'sudo -u www-data', um den Web-Benutzer zu imitieren, # und wir umschließen die Ausführung, um eine Kindprozessbeziehung zu imitieren. # Hinweis: Um 'ParentImage|endswith: php-fpm' perfekt zu matchen, # muss der Test auf einem System ausgeführt werden, auf dem php-fpm aktiv ist. # Das Verhalten wird über eine direkte Ausführung simuliert, falls php-fpm nicht läuft: # In einem echten Labor würde man dies über eine Webanfrage an eine echte PHP-Datei auslösen. # Befehl zum Auslösen: whoami # Wir simulieren die Prozesstree-Beziehung, die von der Regel erwartet wird. # Da wir nicht einfach 'php-fpm' werden können, ohne einen echten Dienst, # führen wir den Befehl aus, um sicherzustellen, dass die Telemetrie des 'Kindes' vorhanden ist. # ECHTER TESTBEFEHL (Erfordert laufendes php-fpm): # php-fpm-cli-simulierter Trigger # Im Sinne dieses Skripts führen wir das Ziel-Binary aus: whoami echo "[+] Simulationsbefehl ausgeführt. Überprüfen Sie das SIEM auf 'whoami', ausgelöst von PHP." -
Bereinigungskommandos:
# Es wurden keine persistenten Dateien durch diese Simulation erstellt. # Shell-Verlauf löschen, um Spuren der Simulation zu entfernen. history -c echo "[+] Bereinigung abgeschlossen."