CVE-2025-55182 (React2Shell) PoC avec contournement WAF
Un exploit proof-of-concept Python propre et fiable pour CVE-2025-55182 (alias React2Shell), une vulnérabilité critique d'exécution de code à distance dans les composants serveur React utilisés par Next.js (App Router) et les frameworks similaires.
Ce PoC inclut un padding dynamique de contournement WAF pour échapper aux pare-feu d'applications web courants (Cloudflare, AWS WAF, etc.) qui limitent l'inspection approfondie des corps multipart de grande taille.
Aperçu de la vulnérabilité
- CVE : CVE-2025-55182
- CVSS : 10.0 (Critique)
- Versions affectées : Next.js 15.x–16.0.6, React 19.0.0–19.2.0 (avec les composants serveur activés)
- Impact : Exécution arbitraire de commandes sur le serveur sans authentification
Prérequis
- Python 3.6+
- bibliothèque
requests
pip install requests
Utilisation
RCE de base
python poc.py https://vulnerable-target.com "id"
Avec contournement WAF (padding de 256 Ko)
python poc.py https://vulnerable-target.com "whoami" 256
Arguments
- url : URL cible (la racine / ou /formaction fonctionne généralement)
- command : Commande à exécuter sur le serveur
- padding_kb (optionnel) : Taille du padding factice en Ko (défaut : 128). Augmentez-la en cas de blocage par le WAF.
Exemple de sortie
[*] Sending payload to https://vulnerable-target.com with 256KB padding...
[*] Command: id
[+] RCE Successful! Output:
uid=1000(node) gid=1000(node) groups=1000(node),4(adm),27(sudo)
Divulgation responsable
Cet outil est réservé aux tests de sécurité et à la recherche autorisés.
- Utilisez-le uniquement sur des cibles que vous possédez ou pour lesquelles vous disposez d'une autorisation explicite de test.
- Ne l'utilisez pas contre des systèmes de production sans autorisation.
- Signalez les découvertes de manière responsable via les programmes de bug bounty ou en contactant directement le fournisseur.
Atténuation
- Mettez à niveau vers Next.js ≥ 16.0.7 ou React ≥ 19.2.1
- Déployez des règles WAF mises à jour (par ex. AWS KnownBadInputsRuleSet v1.24+, jeux de règles gérés Cloudflare)
- Désactivez les endpoints Server Actions / RSC inutilisés
Références