
Vulnerabilità React2Shell (CVE-2025-55182 / CVE-2025-66478)
Uno strumento proof-of-concept per dimostrare la vulnerabilità critica React2Shell (CVE-2025-55182 / CVE-2025-66478) esclusivamente su ambienti di test locali autorizzati.
Questa vulnerabilità (CVSS 10.0) viene 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 trasformare in armi gli exploit pubblici entro poche ore dalla divulgazione. La U.S. Cybersecurity and Infrastructure Security Agency (CISA) lo ha aggiunto al proprio 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). Un identificativo separato, CVE-2025-66478, era stato assegnato per Next.js ma è stato successivamente respinto come duplicato di CVE-2025-55182, poiché entrambi 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 colpisce qualsiasi framework che li includa.
Non Interessati: Next.js 13.x, le release stabili di Next.js 14.x, le applicazioni Pages Router e l'Edge Runtime non sono interessati.
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 ingresso senza un'adeguata validazione. Ciò consente a un attaccante di iniettare chiavi dannose (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 i privilegi del server, portando alla piena 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.
# For Next.js users, upgrade to the latest patched version in your release line.
# Example: If you are on Next.js 15.5.x:
npm install [email protected]
# Also ensure React dependencies are updated:
npm install react@latest react-dom@latest
Verificare che i file package-lock.json o yarn.lock riflettano le versioni patchate 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 individuare questi segni di tentativi di sfruttamento:
next-action o rsc-action-id. Corpi delle richieste 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 (Severità Massima) che è oggetto di 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 patchate elencate sopra.
| Componente | Versioni Interessate | Versioni Patchate | 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 patchati (>19.0.1, 19.1.2, 19.2.1). | Vulnerabile se si utilizzano i pacchetti React interessati. |