CVE-2024-4577
PHP-CGI OS Command Injection Vulnerability
Beschreibung
CVE-2024-4577 ist eine kritische Argument-Injection-Schwachstelle in PHP im CGI-Modus auf Windows-Systemen, die eine Remote Code Execution (RCE) ohne Authentifizierung ermoeglicht. Die Schwachstelle wird mit einem CVSS-Score von 9.8 (CRITICAL) bewertet und betrifft PHP-Versionen 8.1.x vor 8.1.29, 8.2.x vor 8.2.20 und 8.3.x vor 8.3.8.
Die CISA hat CVE-2024-4577 in den KEV-Katalog aufgenommen, mit einer Behebungsfrist bis zum 2024-07-03. Der EPSS-Score von 94,37 % (100,0. Perzentil) erreicht den absoluten Hoechstwert. Besonders alarmierend ist die bestaetigt aktive Nutzung durch Ransomware-Gruppen (Ransomware-Status: Known). Die Schwachstelle nutzt das "Best-Fit"-Zeichenzuordnungsverhalten von Windows aus, wenn bestimmte Codepages konfiguriert sind, wodurch Angreifer PHP-Optionen ueber HTTP-Anfragen einschleusen koennen.
KEV-Informationen
CVSS-Score
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HIm Rechner öffnenBetroffene Produkte
| Hersteller | Produkt | Version |
|---|---|---|
| php | php | >= 8.1.0, < 8.1.29; >= 8.2.0, < 8.2.20; >= 8.3.0, < 8.3.8 |
| fedoraproject | fedora | 39; 40 |
Mehrere CVSS-Bewertungen
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Referenzen
- http://www.openwall.com/lists/oss-security/2024/06/07/1(Mailing List, Third Party Advisory)
- https://arstechnica.com/security/2024/06/php-vulnerability-allows-attackers-to-run-malicious-code-on-windows-servers/(Exploit, Press/Media Coverage, Third Party Advisory)
- https://blog.orange.tw/2024/06/cve-2024-4577-yet-another-php-rce.html(Third Party Advisory)
- https://cert.be/en/advisory/warning-php-remote-code-execution-patch-immediately(Third Party Advisory)
- https://devco.re/blog/2024/06/06/security-alert-cve-2024-4577-php-cgi-argument-injection-vulnerability-en/(Exploit, Third Party Advisory)
- https://github.com/11whoami99/CVE-2024-4577(Exploit)
- https://github.com/php/php-src/security/advisories/GHSA-3qgc-jrrr-25jv(Exploit, Third Party Advisory)
- https://github.com/rapid7/metasploit-framework/pull/19247(Exploit, Issue Tracking, Patch)
- https://github.com/watchtowrlabs/CVE-2024-4577(Exploit, Third Party Advisory)
- https://github.com/xcanwin/CVE-2024-4577-PHP-RCE(Exploit, Third Party Advisory)
- https://isc.sans.edu/diary/30994(Exploit, Third Party Advisory)
- https://labs.watchtowr.com/no-way-php-strikes-again-cve-2024-4577/(Exploit, Third Party Advisory)
- https://lists.fedoraproject.org/archives/list/[email protected]/message/PKGTQUOA2NTZ3RXN22CSAUJPIRUYRB4B/(Mailing List)
- https://lists.fedoraproject.org/archives/list/[email protected]/message/W45DBOH56NQDRTOM2DN2LNA2FZIMC3PK/(Mailing List)
- https://security.netapp.com/advisory/ntap-20240621-0008/(Third Party Advisory)
- https://www.imperva.com/blog/imperva-protects-against-critical-php-vulnerability-cve-2024-4577/(Third Party Advisory)
- https://www.php.net/ChangeLog-8.php#8.1.29(Release Notes)
- https://www.php.net/ChangeLog-8.php#8.2.20(Release Notes)
- https://www.php.net/ChangeLog-8.php#8.3.8(Release Notes)
- https://blog.talosintelligence.com/new-persistent-attacks-japan/(Exploit, Third Party Advisory)
- https://www.vicarius.io/vsociety/posts/php-cgi-argument-injection-to-rce-cve-2024-4577(Exploit, Third Party Advisory)
- https://www.vicarius.io/vsociety/posts/php-cgi-os-command-injection-vulnerability-cve-2024-4577(Exploit, Third Party Advisory)
- https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2024-4577(US Government Resource)
Schwachstellentyp
Argument Injection ueber Windows Best-Fit Character Mapping
CVE-2024-4577 ist eine Argument-Injection-Schwachstelle, die das "Best-Fit"-Zeichenzuordnungsverhalten von Windows ausnutzt. Wenn PHP im CGI-Modus auf Windows mit bestimmten Codepages (insbesondere Chinesisch Traditionell 950, Chinesisch Vereinfacht 936 und Japanisch 932) betrieben wird, ersetzt Windows bestimmte Unicode-Zeichen durch ASCII-Zeichen in der Kommandozeile. Das PHP-CGI-Modul interpretiert diese ersetzten Zeichen dann faelschlicherweise als PHP-Optionen, was es Angreifern ermoeglicht, beliebige PHP-Konfigurationsoptionen einzuschleusen und letztlich Code auszufuehren.
Diese Art von Schwachstelle faellt in den Bereich von CWE-78 -- Improper Neutralization of Special Elements used in an OS Command, da externe Eingaben nicht korrekt bereinigt werden, bevor sie als Befehlsargumente verarbeitet werden.
Weitere Informationen: CWE-78 -- OS Command Injection
Auswirkungsanalyse
Die Auswirkungen von CVE-2024-4577 sind katastrophal, da sie die vollstaendige Uebernahme von Windows-Webservern mit PHP-CGI ohne jegliche Authentifizierung ermoeglicht. Der CVSS-Vektor CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H beschreibt die maximale Bedrohungsstufe ohne Scope-Aenderung. Vertraulichkeit (Hoch): Ein Angreifer kann beliebigen PHP-Code ausfuehren und damit auf saemtliche Daten des Webservers zugreifen, einschliesslich Datenbankinhalten, Konfigurationsdateien mit Zugangsdaten, und hochgeladenen Dateien anderer Benutzer. Integritaet (Hoch): Volle Kontrolle ueber den Webserver ermoeglicht die Manipulation von Webseiten, die Einschleusung von Malware und die Installation persistenter Backdoors. Verfuegbarkeit (Hoch): Der Server kann vollstaendig deaktiviert, verschluesselt oder fuer DDoS-Angriffe missbraucht werden. Der EPSS-Score von 94,37 % (100,0. Perzentil) erreicht den absoluten Hoechstwert, und die bestaetigt aktive Ransomware-Nutzung macht CVE-2024-4577 zu einer der gefaehrlichsten Schwachstellen des Jahres 2024. PHP ist die am weitesten verbreitete serverseitige Programmiersprache, was die Angriffsflaeche massiv vergroessert.
Exploit-Reifegrad
CVE-2024-4577 weist eine maximale Exploit-Reife mit bestaetigter Ransomware-Nutzung auf. Die CISA hat die aktive Ausnutzung bestaetigt und die Schwachstelle mit einer Behebungsfrist bis zum 2024-07-03 in den KEV-Katalog aufgenommen. Der EPSS-Score von 94,37 % (100,0. Perzentil) erreicht den absoluten Hoechstwert. Der Ransomware-Status ist als Known eingestuft. Zahlreiche oeffentliche Exploits sind verfuegbar: Ein Metasploit-Modul ermoeglicht die automatisierte Ausnutzung. Weitere Exploits finden sich bei watchTowr Labs, DEVCORE und auf GitHub. Cisco Talos hat persistente Angriffskampagnen gegen japanische Ziele dokumentiert, die CVE-2024-4577 als initialen Zugangspunkt nutzen. Die Kombination aus maximaler Schwere, massiver Exploit-Verfuegbarkeit und bestaetigter Ransomware-Nutzung macht sofortiges Patchen absolut zwingend.
Behebung
-
PHP umgehend auf eine gepatchte Version aktualisieren: Aktualisieren Sie auf PHP 8.1.29, 8.2.20 oder 8.3.8 (bzw. neuer). Konsultieren Sie die offiziellen PHP ChangeLogs fuer 8.1.29, 8.2.20 und 8.3.8. Das PHP Security Advisory GHSA-3qgc-jrrr-25jv enthaelt weitere Details.
-
PHP-CGI-Modus durch sicherere Alternativen ersetzen: Migrieren Sie nach Moeglichkeit von PHP-CGI zu PHP-FPM (FastCGI Process Manager), das nicht von dieser Schwachstelle betroffen ist. PHP-FPM bietet zudem bessere Performance und Sicherheitsisolation.
-
Web Application Firewall (WAF) Regeln implementieren: Als Sofortmassnahme koennen WAF-Regeln implementiert werden, die verdaechtige Zeichen in URL-Parametern blockieren, insbesondere Soft-Hyphen-Zeichen (0xAD) und andere Best-Fit-Mapping-Zeichen, die zur Umgehung genutzt werden.
-
Windows-Codepage-Konfiguration ueberpruefen: Identifizieren Sie Server mit Codepages, die fuer Best-Fit-Mapping anfaellig sind (insbesondere 932, 936 und 950). Obwohl das PHP-Update die primaere Loesung ist, hilft das Verstaendnis der Codepage-Konfiguration bei der Risikobewertung.
-
Forensische Untersuchung durchfuehren: Wenn Ihr PHP-CGI-basierter Windows-Webserver vor dem Patchen aus dem Internet erreichbar war, fuehren Sie eine umfassende forensische Pruefung durch. Ueberpruefen Sie Webserver-Logs auf verdaechtige Anfragen mit ungewoehnlichen Unicode-Zeichen, suchen Sie nach installierten Webshells und pruefen Sie auf Ransomware-Vorboten.
Technische Details
CVE-2024-4577 betrifft PHP in den Versionen 8.1.0 bis 8.1.28, 8.2.0 bis 8.2.19 und 8.3.0 bis 8.3.7 im CGI-Modus auf Windows. Der CVSS-Vektor CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H beschreibt die maximale Bedrohungsstufe. Angriffsvektor (Netzwerk): Die Schwachstelle ist ueber HTTP/HTTPS-Anfragen an den Webserver erreichbar. Angriffskomplexitaet (Niedrig): Keine besonderen Bedingungen erforderlich; die Ausnutzung ist trivial mit verfuegbaren Tools. Berechtigungen (Keine): Keinerlei Authentifizierung notwendig. Benutzerinteraktion (Keine): Vollstaendig automatisierbar. Der Angriffsmechanismus nutzt das "Best-Fit"-Character-Mapping-Verhalten von Windows aus. Wenn Windows bestimmte Codepages verwendet, fuehrt es eine automatische Zeichenzuordnung durch, bei der bestimmte Unicode-Zeichen durch ASCII-Aequivalente ersetzt werden. Insbesondere wird das Soft-Hyphen-Zeichen (0xAD) durch einen regulaeren Bindestrich (0x2D) ersetzt. Ein Angreifer kann dieses Verhalten ausnutzen, indem er speziell praeparierte URL-Parameter mit dem Soft-Hyphen sendet, die von PHP-CGI nach der Windows-Zeichenzuordnung als PHP-Kommandozeilenoptionen interpretiert werden. Durch die Einschleusung der Option -d ermoeglicht dies die Manipulation der PHP-Konfiguration zur Laufzeit und letztlich die Ausfuehrung beliebigen PHP-Codes. Die Schwachstelle ist ein Bypass einer aelteren Sicherheitsmassnahme, die bereits 2012 fuer CVE-2012-1823 implementiert wurde.
Häufig gestellte Fragen
Sind nur Windows-Server betroffen?
Ja, CVE-2024-4577 betrifft ausschliesslich PHP im CGI-Modus auf Windows-Systemen. Linux-, macOS- und andere Unix-basierte Server verwenden nicht das Windows-Best-Fit-Character-Mapping und sind daher nicht anfaellig fuer diesen spezifischen Angriffsvektor.
Ist PHP-FPM ebenfalls betroffen?
Nein, PHP-FPM (FastCGI Process Manager) ist nicht von CVE-2024-4577 betroffen, da der Angriffsvektor spezifisch die CGI-Kommandozeilenverarbeitung ausnutzt. Die Migration von PHP-CGI zu PHP-FPM eliminiert diesen Angriffsvektor vollstaendig.
Wird CVE-2024-4577 fuer Ransomware-Angriffe genutzt?
Ja, der Ransomware-Status ist von der CISA als "Known" eingestuft. Cisco Talos hat persistente Angriffskampagnen dokumentiert, die CVE-2024-4577 als initialen Zugangspunkt nutzen. Zahlreiche oeffentlich verfuegbare Exploit-Tools, einschliesslich eines Metasploit-Moduls, erleichtern die automatisierte Massenausnutzung.
Wie haengt CVE-2024-4577 mit der aelteren CVE-2012-1823 zusammen?
CVE-2024-4577 ist ein Bypass des Sicherheitsfixes fuer CVE-2012-1823, eine aehnliche PHP-CGI-Argument-Injection-Schwachstelle aus dem Jahr 2012. Der damalige Fix filterte bestimmte Zeichen, berücksichtigte jedoch nicht das Windows-Best-Fit-Character-Mapping, das eine Umgehung ermoeglicht. Der Sicherheitsforscher Orange Tsai von DEVCORE hat diesen Bypass entdeckt und dokumentiert.
Hilfe beim Schwachstellenmanagement?
Unsere Sicherheitsexperten helfen Ihnen bei der Priorisierung und Behebung von Schwachstellen.