
React2Shell Scanner (CVE-2025-55182 & CVE-2025-66478)
Uno strumento di rilevamento non intrusivo per identificare implementazioni vulnerabili di React Server Components (RSC) interessate da CVE-2025-55182 (React) e CVE-2025-66478 (Next.js). Questo strumento esegue un rilevamento attivo utilizzando payload benigni e non dannosi per determinare se un server è vulnerabile senza eseguire alcun codice nocivo.
CVE-2025-55182 e CVE-2025-66478 sono critiche vulnerabilità di esecuzione remota di codice (RCE) non autenticata nel protocollo "Flight" dei React Server Components. Queste vulnerabilità interessano:
react-server-dom versioni 19.0.0, 19.1.0, 19.1.1 e 19.2.0Le vulnerabilità derivano da una deserializzazione non sicura nella logica di gestione dei payload RSC, che consente a dati controllati da un attaccante di influenzare l'esecuzione lato server. Le configurazioni predefinite sono vulnerabili: un'app Next.js standard creata con create-next-app può essere sfruttata senza alcuna modifica al codice.
Questo strumento esegue un rilevamento attivo delle vulnerabilità tramite:
Lo strumento utilizza tre metodi di rilevamento:
loadServerReferencearrayBufferImportante: Questo strumento NON esegue alcun codice dannoso. Invia solo payload benigni accuratamente costruiti, progettati per generare risposte di errore che rivelano lo stato di vulnerabilità del server.
python react2shell_scanner.py --target https://example.com
python react2shell_scanner.py --target https://example.com --action-id YOUR_ACTION_ID
python react2shell_scanner.py --target https://example.com --verbose
| Argomento | Obbligatorio | Predefinito | Descrizione |
|---|---|---|---|
--target | Sì | - | URL di destinazione da controllare (deve iniziare con http:// o https://) |
--action-id | No | c67c4e1a40fcc26b5e3c0d5d17f16786f4244989 | Action ID da utilizzare nel payload |
--verbose, -v | No | False | Abilita l'output dettagliato mostrando i corpi delle risposte |
[+] CVE-2025-55182 and CVE-2025-66478 Vulnerability Checker
[*] Target: https://example.com
[*] Action ID: c67c4e1a40fcc26b5e3c0d5d17f16786f4244989
[*] Test 1: Sending $F (Server Reference) payload...
Status: 500, Evidence: workers
[*] Test 2: Sending $L (Lazy) payload...
Status: 500, Evidence: arraybuffer
[+] Result:
[!] Status: LIKELY VULNERABLE
[!] Confidence: HIGH
[!] Evidence: workers
[!] Details: Server reached loadServerReference (Flight $F deserialization bypass)
[!] RECOMMENDATION: Upgrade to patched version
======================================================================
[+] CVE-2025-55182 and CVE-2025-66478 Vulnerability Checker
[*] Target: https://example.com
[*] Action ID: c67c4e1a40fcc26b5e3c0d5d17f16786f4244989
[*] Test 1: Sending $F (Server Reference) payload...
Status: 500, Evidence: could not find the module
[*] Test 2: Sending $L (Lazy) payload...
Status: 500, Evidence: in the react server manifest
[+] Result:
[+] Status: LIKELY NOT VULNERABLE
[+] Confidence: HIGH
[+] Evidence: could not find the module
[+] Details: Server rejected payload with security error (patched)
======================================================================
Lo strumento cerca questi pattern di errore che indicano vulnerabilità:
workers - Il server ha raggiunto loadServerReference (confidenza ALTA)arraybuffer - Il server ha raggiunto il gestore di tipo $L (confidenza ALTA)cannot read properties of null (reading 'id') - Il server ha raggiunto loadServerReference con metadati nulli (confidenza ALTA)entries - La Server Action ha ricevuto un oggetto deserializzato invece di FormData (confidenza MEDIA)temporary client reference - Il server ha elaborato un riferimento di tipo $T (confidenza MEDIA)Questi pattern di errore indicano che il server è stato corretto:
could not find the modulein the react server manifestInvalid server referenceServer reference not foundUnexpected tokenis probably a bug in the react server components bundler| Prodotto | Versioni Vulnerabili | Versioni Corrette |
|---|---|---|
react-server-dom | 19.0.0, 19.1.0, 19.1.1, 19.2.0 | 19.0.1, 19.1.2, 19.2.1 |
| Next.js | 14.3.0-canary, 15.x, 16.x (App Router) | 14.3.0-canary.88, 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7 |
Anche altri framework che utilizzano RSC potrebbero essere interessati:
Azione immediata richiesta: Aggiornare alle versioni corrette:
react-server-dom 19.0.1, 19.1.2 o 19.2.1react-serverQuesto strumento è progettato per test di sicurezza difensivi e valutazione delle vulnerabilità. Utilizza solo payload benigni che non eseguono codice dannoso. Tuttavia:
Questo strumento è fornito "così com'è" senza garanzie. Gli autori non sono responsabili per qualsiasi uso improprio o danno causato da questo strumento. Assicurarsi sempre di avere la dovuta autorizzazione prima di testare qualsiasi sistema.