Eine schwerwiegende Sicherheitslücke CVE-2024-1874 wurde in der Funktion proc_open
unter Windows festgestellt, die eine Command-Injection auch bei aktivierter bypass_shell
-Option ermöglicht. Die Schwachstelle wurde mit einem kritischen CVSS-Score von 9.4 bewertet.
Die betroffenen Versionen vor den Updates sind PHP 8.1.27, 8.2.17 und 8.3.5. Korrigierte Versionen, die das Problem adressieren, umfassen PHP 8.1.28, 8.2.18 und 8.3.6.
Die proc_open
-Funktion ermöglicht es, externe Befehle auszuführen, die über ihre Argumente übergeben werden. Seit PHP 7.4.0 kann der Befehl als Array von Kommando-Parametern übergeben werden, wobei der Prozess direkt geöffnet wird (ohne Shell-Durchlauf), und PHP kümmert sich um das notwendige Escaping der Argumente. Die bypass_shell
-Option soll auf Windows die cmd.exe
-Shell umgehen.
Allerdings wird bei der Ausführung von .bat
oder .cmd
Dateien trotz aktivierter bypass_shell
-Option die cmd.exe
implizit durch CreateProcess
aufgerufen, wodurch Befehlszeilenargumente in cmd.exe
verarbeitet werden. Dies widerspricht der Dokumentation, die angibt, dass keine Shell gestartet wird. Da die Befehlsaufforderung \
nicht als Escape-Zeichen erkennt, können über manipulierte Argumente unerwartete Befehle ausgeführt werden, wie zum Beispiel durch den Parameter \"&calc.exe"
der Taschenrechner gestartet wird.
Ein Proof-of-Concept zeigt, dass trotz der bypass_shell
-Einstellung beispielsweise notepad.exe
ausgeführt wird, wenn man entsprechend präparierte PHP-Skripte ausführt.
Diese Schwachstelle ermöglicht das Ausführen beliebiger Befehle, wenn entsprechende Befehlszeilenargumente an .bat
oder .cmd
Dateien über proc_open
übergeben werden. Nutzer sind dringend aufgefordert, die bereitgestellten Updates zu installieren, um sich vor möglichen Angriffen zu schützen.
Professionelle Hilfe erwünscht?
Sentiguard ist spezialisiert auf Notfallhilfe nach Cyberattacken, IT Sicherheitsbeauftragte und IT Sicherheitskonzepte nach BSI Standard. Haben Sie Fragen und wünschen Sie unverbindliche Beratung, dann melden Sie sich gerne bei uns: