
Laboratoire Docker isolé et scanner statique pour CVE-2025-55182, avec des builds Next.js vulnérables/corrigés et validation de PoC de la désérialisation RSC Flight.
Avertissement : Ce dépôt et ses artefacts de PoC sont créés strictement à des fins éducatives, de recherche et de démonstration de sécurité défensive dans un environnement de laboratoire isolé. Tout test non autorisé contre des systèmes externes est strictement interdit.
Ce dépôt fournit un environnement Docker reproductible à deux conteneurs, conçu pour analyser, exploiter et valider les mesures d'atténuation de la vulnérabilité de désérialisation du protocole Flight des React Server Components (RSC), communément appelée React2Shell / CVE-2025-55182. Le laboratoire démontre l'impact post-exploitation sur une version non corrigée de Next.js et prouve l'efficacité des mesures d'atténuation sur une version corrigée.
http://127.0.0.1:3001 (conteneur react2shell-vulnerable)http://127.0.0.1:3002 (conteneur react2shell-patched)internal: true).127.0.0.1 (localhost) afin d'empêcher toute accessibilité depuis le réseau local externe.DUMMY_SECRET=LAB_VULNERABLE_SECRET_DO_NOT_USE_12345) sont utilisés pour les tests d'exfiltration afin d'éliminer toute exposition de données sensibles.24.0.0+, Compose v2.20.0+)3.8+ — Bibliothèque standard uniquement pour l'automatisation de base)Clonez le dépôt et vérifiez votre environnement local :
git clone https://github.com/PhanHoangKhang/React2Shell.git
Accédez au répertoire lab/ et initialisez les deux conteneurs à double construction :
cd lab
docker-compose up -d --build
cd ..
Exécutez le scanner de détection dans les deux laboratoires :
python src/react2shell_scanner.py lab/patched
python src/react2shell_scanner.py lab/vulnerable
cd lab
docker-compose stop
cd ..
Pour exécuter les tests de validation de l'exploit et vérifier les artefacts d'exfiltration, veuillez consulter le guide détaillé pas à pas du PoC :
| Service cible | Framework / Package | Version installée | Format du lockfile |
|---|---|---|---|
Cible vulnérable (:3001) | Next.js | 15.0.0-rc.1 | package-lock.json (Version 3 du lockfile) |
| React / React-DOM | 19.0.0-rc-65a56d0e-20241020 | Publication du registre NPM | |
Cible corrigée (:3002) | Next.js | 15.0.3 (stable) | package-lock.json (Version 3 du lockfile) |
| React / React-DOM | 19.0.0 (stable) | Publication du registre NPM |
package-lock.json (format v3). Le scanner statique privilégie l'analyse de l'arbre de dépendances résolu dans packages["node_modules/next"] pour une détection précise.< 15.0.3 (y compris les builds 15.0.0-rc) comme vulnérables à la désérialisation du protocole Flight RSC.