
Laboratorio Docker isolato e scanner statico per CVE-2025-55182, con build vulnerabili/corrette di Next.js e validazione del PoC della deserializzazione di RSC Flight.
Disclaimer: Questo repository e i suoi artefatti PoC sono creati strettamente a scopo educativo, di ricerca e di dimostrazione difensiva della sicurezza all'interno di un ambiente di laboratorio isolato. Test non autorizzati contro sistemi esterni sono severamente vietati.
Questo repository fornisce un ambiente Docker riproducibile a doppio contenitore, progettato per analizzare, sfruttare e validare le mitigazioni per la vulnerabilità di deserializzazione del Flight Protocol di React Server Components (RSC) (nota comunemente come React2Shell / CVE-2025-55182). Il laboratorio dimostra l'impatto post-sfruttamento su una build Next.js non aggiornata e prova l'efficacia delle mitigazioni su una build aggiornata.
http://127.0.0.1:3001 (contenitore react2shell-vulnerable)http://127.0.0.1:3002 (contenitore react2shell-patched)internal: true).127.0.0.1 (localhost) per prevenire accessibilità dalla LAN esterna.DUMMY_SECRET=LAB_VULNERABLE_SECRET_DO_NOT_USE_12345) per i test di esfiltrazione al fine di eliminare l'esposizione di dati sensibili.24.0.0+, Compose v2.20.0+)3.8+ — Solo libreria standard per l'automazione di base)Clona il repository e verifica il tuo ambiente locale:
git clone https://github.com/PhanHoangKhang/React2Shell.git
Naviga nella directory lab/ e inizializza entrambi i contenitori dual-build:
cd lab
docker-compose up -d --build
cd ..
Esegui lo scanner di rilevamento in entrambi i laboratori:
python src/react2shell_scanner.py lab/patched
python src/react2shell_scanner.py lab/vulnerable
cd lab
docker-compose stop
cd ..
Per eseguire i test di validazione dell'exploit e verificare gli artefatti di esfiltrazione, fai riferimento alla guida PoC dettagliata passo-passo:
| Servizio Target | Framework / Pacchetto | Versione Installata | Formato Lockfile |
|---|---|---|---|
Target Vulnerabile (:3001) | Next.js | 15.0.0-rc.1 | package-lock.json (Lockfile Versione 3) |
| React / React-DOM | 19.0.0-rc-65a56d0e-20241020 | Release NPM Registry | |
Target Aggiornato (:3002) | Next.js | 15.0.3 (Stabile) | package-lock.json (Lockfile Versione 3) |
| React / React-DOM | 19.0.0 (Stabile) | Release NPM Registry |
package-lock.json (formato v3). Lo scanner statico dà priorità all'analisi dell'albero delle dipendenze risolte all'interno di packages["node_modules/next"] per un rilevamento accurato.< 15.0.3 (incluse le build 15.0.0-rc) come vulnerabili alla deserializzazione del Flight Protocol RSC.