CVE-2024-4577: PHP-Argumentinjektion unter Windows
Aktie
Am 6. Juni enthüllte Orange Tsai eine neue Schwachstelle, die PHP betraf und alle Versionen von PHP für Windows (PHP im CGI-Modus, insbesondere in den Sprachen Chinesisch und Japanisch) betrifft, einschließlich Standardinstallationen auf Servern.
Die Ursache des Problems liegt in der schlechten Zeichenverarbeitung durch die CGI-Engine (ähnlich der 12 Jahre alten Schwachstelle CVE-2012-1823). Diese Engine interpretiert (0xAD) und dekodiert es als „Soft-Skript“, das PHP dank der „Best-Fit“-Zuordnungsfunktion in ein „echtes Skript“ umwandelt und so einem böswilligen Agenten ermöglicht Wird verwendet, um beliebigen Code auszuführen
Betroffene Versionen
Diese Schwachstelle wurde gemäß den CVSS 3.1-Metriken als 9,8 kritisch eingestuft NIST, und die betroffenen Versionen sind:
- PHP 8.3 <8.3.8
- PHP 8.2 < 8.2.20
- PHP 8.1 <8.1.29
Ausbeutung
Um diese Schwachstelle auszunutzen, sind bestimmte Eigenschaften auf dem betroffenen Computer erforderlich:
- Die PHP-Software muss im CGI-Modus konfiguriert werden.
- Eine Ausnutzung ist möglich, wenn die Binärdateien php.exe oder php-cgi.exe offengelegt werden (alle Standardinstallationen in XAMPP für Windows).
- Das Betriebssystem muss Windows sein.
Da diese Schwachstelle der oben genannten CVE-2012-1823 sehr ähnlich ist, können Ausnutzungstechniken eingesetzt werden. Um die Injektion gemäß diesen Techniken in RCE zu übersetzen, sollten Sie versuchen, die folgenden Argumente zu injizieren:
Dies ermöglicht die Eingabe des HTTP-Anfragetexts und dessen Verarbeitung mit PHP. Eine Beispielanfrage wurde erstellt, indem das „Soft-Skript“ anstelle des „echten Skripts“ hinzugefügt wurde, und im Hauptteil der Anfrage wurde ein PHP-Code hinzugefügt, der es ermöglichte, die PHP-Info-Seite anzuzeigen, was zeigt, dass der RCE erreicht wurde.
Wie Sie in den Screenshots sehen können, wurde Code ausgeführt, indem Argumente in die Anfrage eingefügt wurden. Dies stellt ein ernstes Problem dar, da ein böswilliger Agent diese Schwachstelle ausnutzen könnte, um jeden von diesem CVE betroffenen Computer zu kontrollieren und so dessen Vertraulichkeit, Integrität und Verfügbarkeit zu beeinträchtigen.
Identifizierung und Behebung von Schwachstellen
Um die Schwachstelle in den Systemen zu identifizieren, kann dies durch eine Überprüfung der PHP-Version erfolgen.
Um die Schwachstelle zu entschärfen, muss die PHP-Software hauptsächlich auf die neuen gepatchten Versionen aktualisiert werden:
- 8.3.8
- 8.2.20
- 8.1.29
Es ist sehr wichtig, das neueste Update anzuwenden, da böswillige Akteure derzeit die Ransomware TellYouThePass verwenden, um sie aktiv auszunutzen.
Javier Muñoz, Cybersicherheitsanalyst bei Zerolynx