Rileva CVE-2025-55182 RCE in React Server Components scansionando i file di blocco npm/pnpm/yarn, le immagini Docker, gli SBOM e gli URL live. Include correzione automatica, output SARIF e integrazioni CI/CD.
Scanner di sicurezza per CVE-2025-55182 - una vulnerabilità critica (CVSS 10.0) di esecuzione di codice in remoto non autenticata nei React Server Components.
⚠️ DICHIARAZIONE DI NON RESPONSABILITÀ
Questo è uno scanner di sicurezza, NON uno strumento di sfruttamento. È progettato per aiutare sviluppatori e team di sicurezza a identificare dipendenze vulnerabili nei propri progetti.
Si tratta di un progetto open source guidato dalla comunità fornito "COSÌ COM'È" senza garanzia di alcun tipo, esplicita o implicita. Gli autori e i contributori non sono responsabili per eventuali danni o incidenti di sicurezza derivanti dall'uso di questo strumento.
Usalo a tuo rischio e responsabilità. Verifica sempre i risultati manualmente e segui le policy di sicurezza della tua organizzazione. Se scopri problemi, bug o hai suggerimenti, per favore contribuisci per migliorare il progetto per tutti.
🤍 CERCHIAMO CONTRIBUTORI
Questo progetto è attivamente alla ricerca di tester e contributori! Che tu voglia segnalare bug, suggerire funzionalità, migliorare la documentazione o inviare codice – tutti i contributi sono benvenuti. Consulta la nostra Guida per Contributori per iniziare.
Questo progetto esiste per aiutare la comunità a rispondere a CVE-2025-55182. Riconosciamo e ringraziamo:
Il modo più veloce per verificare se il tuo progetto è vulnerabile:```bash npx react2shell-guard .
Ecco fatto! Questa operazione eseguirà la scansione della directory corrente e mostrerà i risultati immediatamente.
### 2. Scansiona un progetto specifico```bash
npx react2shell-guard /path/to/your/project
Trovate vulnerabilità? Correggetele automaticamente:```bash
npx react2shell-guard fix --dry-run
npx react2shell-guard fix
npx react2shell-guard fix --install
### 4. Scansiona URL live
Verifica se un'applicazione distribuita è vulnerabile:```bash
npx react2shell-guard scan-url https://your-app.com
Conferma che la correzione implementata stia funzionando:```bash npx react2shell-guard verify-patch https://your-app.com
### 6. Scansiona le immagini dei container
Verifica se le tue immagini Docker contengono pacchetti vulnerabili:```bash
npx react2shell-guard scan-image myapp:latest
Crea automaticamente una PR su GitHub per correggere le vulnerabilità:```bash npx react2shell-guard create-pr --dry-run # Preview npx react2shell-guard create-pr # Create PR
---
## Cos'è CVE-2025-55182?
Il 29 novembre 2025, il ricercatore di sicurezza Lachlan Davidson ha scoperto e divulgato responsabilmente una vulnerabilità critica in React Server Components. La falla risiede nel modo in cui React decodifica i payload inviati agli endpoint delle React Server Function, consentendo ad aggressori non autenticati di ottenere l'esecuzione di codice remoto sui server interessati senza alcuna interazione dell'utente.
CVE-2025-55182 ha un punteggio CVSS 10.0 (Critica) e colpisce React Server Components (RSC) e i framework che utilizzano il protocollo RSC "Flight".
**Pacchetti interessati:**
- `react-server-dom-webpack` 19.0.0, 19.1.0-19.1.1, 19.2.0
- `react-server-dom-parcel` (stesse versioni)
- `react-server-dom-turbopack` (stesse versioni)
- `next` 15.0.0-15.0.4, 15.1.0-15.1.8, 15.2.0-15.2.5, 15.3.0-15.3.5, 15.4.0-15.4.7, 15.5.0-15.5.6, 16.0.0-16.0.6
**Maggiori informazioni:**
- [Avviso di sicurezza di React](https://react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components)
- [Wiz Research](https://www.wiz.io/blog/critical-vulnerability-in-react-cve-2025-55182)
---
## Installazione (Opzionale)
Per un uso frequente, installa globalmente:```bash
npm install -g react2shell-guard
Quindi usa senza npx:```bash
react2shell-guard .
---
## Guida all'uso
### Scansione di base```bash
# Scan current directory
react2shell-guard .
# Scan specific directory
react2shell-guard /path/to/project
# Scan and ignore certain paths
react2shell-guard . --ignore-path "examples/**" "test/**"
react2shell-guard .
react2shell-guard . --json
react2shell-guard . --sarif
react2shell-guard . --html report.html
### Opzioni CLI
| Opzione | Descrizione |
|--------|-------------|
| `--json` | Emette i risultati in formato JSON |
| `--sarif` | Emette i risultati in formato SARIF 2.1.0 |
| `--html <file>` | Genera un report HTML autonomo |
| `--no-exit-on-vuln` | Non termina con codice di uscita 1 quando vengono trovate vulnerabilità |
| `--ignore-path <patterns>` | Percorsi da ignorare (es., `examples/**`) |
| `--debug` | Abilita l'output di debug |
### Codici di uscita
| Codice | Significato |
|------|---------|
| `0` | Nessuna vulnerabilità trovata |
| `1` | Vulnerabilità rilevate |
| `2+` | Errore fatale |
## Scansione URL in tempo reale
Scansiona gli endpoint in tempo reale per rilevare se sono vulnerabili:```bash
# Scan a single URL
react2shell-guard scan-url https://example.com
# Batch scan from a file (one URL per line)
react2shell-guard scan-url urls.txt --list
# With options
react2shell-guard scan-url https://example.com --timeout 5000 --json
Lo scanner utilizza il fingerprinting passivo per rilevare endpoint React Server Components vulnerabili senza sfruttare la vulnerabilità:
Richiesta Probe: Invia una richiesta POST manipolata simulando una chiamata RSC Server Action con un payload minimo:
multipart/form-data con una struttura dati simile a RSCNext-Action per attivare l'elaborazione di Server ActionAnalisi della Risposta: Analizza la risposta HTTP per le firme di vulnerabilità:
^[0-9]+:E{ - formato errore protocollo RSC Flight"digest":"...RSC - digest RSC nelle risposte di erroreReactServerComponentsError - nomi di classi di errore Reacttext/x-component.*error - tipo di contenuto errore componenteNon Distruttivo: Questo è puramente un meccanismo di rilevamento - non esegue alcun payload dannoso né sfrutta la vulnerabilità. La probe utilizza dati benigni che attivano risposte di errore sui server vulnerabili ma non causano danni.
Nota: Una rilevazione positiva significa che il server sta eseguendo una versione vulnerabile e ha restituito una firma di errore specifica di RSC. NON significa che il server sia stato sfruttato.