
Uno strumento proof-of-concept per dimostrare la critica vulnerabilità React2Shell (CVE-2025-55182 / CVE-2025-66478) esclusivamente su ambienti di test locali autorizzati.
Questa vulnerabilità (CVSS 10.0) è attivamente sfruttata da sofisticati attori delle minacce. Amazon Threat Intelligence segnala che numerosi gruppi sponsorizzati da stati legati alla Cina, tra cui Earth Lamia e Jackpot Panda, hanno iniziato a weaponizzare exploit pubblici entro poche ore dalla divulgazione. La Cybersecurity and Infrastructure Security Agency (CISA) statunitense l'ha aggiunta al suo catalogo Known Exploited Vulnerabilities (KEV).
CVE-2025-55182 (React2Shell) è una vulnerabilità critica di Remote Code Execution (RCE) pre-autenticazione nel protocollo "Flight" dei React Server Components (RSC). A CVE-2025-66478 è stato assegnato un identificativo separato per Next.js, ma è stata successivamente respinta come duplicato di CVE-2025-55182, poiché entrambe condividono la stessa causa principale.
chmod +x pwn-nextjs.sh
./pwn-nextjs.sh [TARGET_URL] [COMMAND]
# Target specific URL
./pwn-nextjs.sh https://vulnerable-app.example.com "whoami"
root
La vulnerabilità ha origine in specifici pacchetti React e interessa qualsiasi framework che li includa.
Non interessati: Next.js 13.x, le versioni stabili di Next.js 14.x, le applicazioni Pages Router e l'Edge Runtime non sono vulnerabili.
Il protocollo RSC Flight serializza i dati per la comunicazione client-server. La vulnerabilità risiede nella logica di deserializzazione sul server, che espande in modo non sicuro le proprietà degli oggetti dal payload in arrivo senza una validazione adeguata. Ciò consente a un attaccante di iniettare chiavi malevole (come __proto__ o constructor) nella richiesta, portando a prototype pollution.
Una volta inquinata la catena dei prototipi, il server segue percorsi di esecuzione influenzati dall'attaccante. Questo può essere concatenato per eseguire codice JavaScript arbitrario con privilegi del server, portando alla completa Remote Code Execution (RCE).
I ricercatori di sicurezza hanno osservato exploit riusciti che portano a:
.aws/credentials).La patch è obbligatoria ed è l'unico modo per eliminare completamente la vulnerabilità. Non esiste alcuna impostazione di configurazione per disabilitare il percorso di codice vulnerabile.
# Per gli utenti di Next.js, aggiornare all'ultima versione corretta della propria linea di rilascio.
# Esempio: se si è su Next.js 15.5.x:
npm install [email protected]
# Assicurarsi anche che le dipendenze React siano aggiornate:
npm install react@latest react-dom@latest
Verificare che i file package-lock.json o yarn.lock riflettano le versioni corrette dei pacchetti react-server-dom-* (19.0.1, 19.1.2 o 19.2.1).
In attesa della patch, implementare regole Web Application Firewall (WAF) per bloccare i tentativi di exploit:
AWSManagedRulesKnownBadInputsRuleSet (v1.24+) include regole per questa CVE.cve-canary.Nota: Le regole WAF sono una mitigazione temporanea e incompleta. Non sostituiscono la necessità di applicare la patch.
Esaminare i log per questi segni di tentativi di sfruttamento:
next-action o rsc-action-id. Corpi di richiesta contenenti pattern come $@ o "status":"resolved_model".whoami, id, uname), letture di /etc/passwd o scritture di file in /tmp/ (ad esempio pwned.txt) da parte di processi Node.js.Questo strumento dimostra una vulnerabilità con un punteggio CVSS di 10.0 (Massima Gravità) attualmente sotto sfruttamento attivo sponsorizzato da stati.
Ricorda: Questo strumento dimostra perché la patch è urgente. Usa questa conoscenza per migliorare la sicurezza e difendere i sistemi, non per comprometterli. Assicurati che tutte le tue dipendenze siano aggiornate alle versioni corrette elencate sopra.
| Componente | Versioni Vulnerabili | Versioni Corrette | Note |
|---|
| Pacchetti React ( react-server-dom-webpack, -parcel, -turbopack) | 19.0.0, 19.1.0, 19.1.1, 19.2.0 | 19.0.1, 19.1.2, 19.2.1 | Origine del difetto a monte. |
| Next.js (App Router) | 15.x, 16.x, 14.3.0-canary.77 e successive | 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7 | Framework principale interessato. |
| Altri Framework | React Router, Waku, RedwoodJS, Parcel (@parcel/rsc), Vite RSC Plugin | Aggiornare a versioni che utilizzano pacchetti React corretti (>19.0.1, 19.1.2, 19.2.1). | Vulnerabili se utilizzano i pacchetti React interessati. |