Kritische RCE-Sicherheitslücke in PHP-CGI entdeckt
Table of Contents
DEVCORE hat eine schwerwiegende Remote-Code-Execution-Sicherheitslücke (CVE-2024-4577) in PHP entdeckt. Diese Schwachstelle ermöglicht es Angreifern, durch Argument-Injection beliebigen Code auf PHP-Servern auszuführen, die unter Windows betrieben werden. Aufgrund der hohen Verbreitung und einfachen Ausnutzbarkeit von PHP stuft DEVCORE die Schwachstelle als kritisch ein. Die Lücke wurde dem PHP-Team gemeldet, das am 6. Juni 2024 einen Patch veröffentlichte.
Die Schwachstelle resultiert aus der fehlerhaften Implementierung des Best-Fit-Features bei der Codierungskonvertierung im Windows-Betriebssystem. Angreifer können dadurch frühere Schutzmaßnahmen wie die gegen CVE-2012-1823 durch bestimmte Zeichensequenzen umgehen. Dies ermöglicht die Ausführung beliebigen Codes auf entfernten PHP-Servern durch Argument-Injection.
Betroffene Versionen:
- PHP 8.3 < 8.3.8
- PHP 8.2 < 8.2.20
- PHP 8.1 < 8.1.29
Ältere PHP-Versionen (8.0, 7.x, 5.x) sind betroffen, werden jedoch nicht mehr unterstützt.
Szenarien:
- Szenario 1: PHP im CGI-Modus unter Apache HTTP Server. Beispielsweise durch
AddHandler cgi-script .phpundAction cgi-script "/cgi-bin/php-cgi.exe". - Szenario 2: Freilegung der PHP-Binärdateien (Standardkonfiguration für XAMPP auf Windows). Dies betrifft u.a. das Kopieren von
php.exeoderphp-cgi.exein das/cgi-bin/-Verzeichnis oder das Exponieren des PHP-Verzeichnisses überScriptAlias.
Empfohlene Maßnahmen:
- Update: Auf die neuesten PHP-Versionen 8.3.8, 8.2.20, oder 8.1.29 aktualisieren.
- Wechsel auf andere Technologie: Falls ein Update nicht möglich ist, bietet es sich an auf Alternativen wie PHP-FPM oder Mod_PHP zu migrieren.