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
react-cve-2025-55182 — Testa e analizza la vulnerabilità CVE-2025-55182 nelle Server Actions di Next.js | Kitploit
Strumenti/GitHubGitHub/niokagi/react-cve-2025-55182
Analisi delle VulnerabilitàAnalisi del CodiceExploitSfruttamento di Applicazioni WebPenetration TestingApprendimento e FormazioneSviluppo PayloadLab e Pratica
GitHubniokagi/react-cve-2025-55182

react-cve-2025-55182

Testa e analizza la vulnerabilità CVE-2025-55182 nelle Server Actions di Next.js

Vedi Repository
8 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: React/Next.js Test

Stato del progetto: Sperimentale / Proof of Concept

Questo repository funge da ambiente di ricerca controllato e da framework Proof-of-Concept (PoC) per l'analisi di CVE-2025-55182. Dimostra una vulnerabilità di Prototype Pollution nel contesto delle Next.js Server Actions, prendendo di mira specificamente operazioni di merge ricorsive non sicure.

Panoramica

La vulnerabilità principale risiede in una funzione utilitaria personalizzata deepMerge implementata all'interno di una Next.js Server Action (syncConfiguration). La funzione non dispone di una sanificazione adeguata per le chiavi speciali degli oggetti—in particolare __proto__ e constructor. Questa mancanza consente a un attaccante non autenticato di iniettare proprietà arbitrarie nel Object.prototype globale.

In un runtime Node.js lato server, una prototype pollution riuscita può comportare:

  • Manipolazione dello stato remoto: alterare la logica dell'applicazione, i flag di autorizzazione (es. isAdmin) o le impostazioni di configurazione a livello globale.
  • Denial of Service (DoS): destabilizzare l'applicazione sovrascrivendo metodi interni critici come toString o valueOf.
  • Potenziale Remote Code Execution (RCE): sebbene questo laboratorio dimostri principalmente la manipolazione dello stato, la prototype pollution può spesso essere concatenata con altri gadget (es. in child_process o motori di template) per ottenere l'esecuzione di codice arbitrario.

Struttura del repository

  • lab/next-app/: un'applicazione vulnerabile Next.js 15 progettata per simulare la falla di sicurezza.
    • src/app/actions.jsx: il codice lato server contenente l'implementazione vulnerabile di deepMerge.
  • exploits/: script Python di automazione per test e sfruttamento.
    • rce.py: uno script che automatizza l'iniezione di payload JSON malevoli per dimostrare l'inquinamento dello stato del server.
    • get-shell.py: un PoC avanzato che esplora i vettori di deserializzazione del protocollo RSC Flight.
  • docs/PAYLOADS.md: un documento di riferimento contenente vari payload JSON per test e analisi manuali.

Istruzioni per l'uso

1. Configurazione dell'ambiente

Puoi eseguire il laboratorio usando Docker (consigliato) o in locale.

Opzione A: Docker (consigliato)

Assicurati che Docker e Docker Compose siano installati.

root@kitploit:~
docker-compose up --build

L'applicazione sarà accessibile all'indirizzo http://localhost:3000.

Opzione B: Configurazione locale

Richiede Node.js 20+.

root@kitploit:~
cd lab/next-app
npm install
npm run dev

L'applicazione sarà accessibile all'indirizzo http://localhost:3000.

2. Verifica manuale

  1. Vai a http://localhost:3000.
  2. Seleziona un payload da docs/PAYLOADS.md (es. il Basic Payload).
  3. Inserisci il payload nel campo "Config_Payload_Input" e invia tramite "Commit_Changes".
  4. Verifica l'avviso "RUNTIME_POLLUTION_DETECTED", che indica uno sfruttamento riuscito.

3. Sfruttamento automatizzato

Gli script Python forniti consentono la verifica programmatica della vulnerabilità.

Prerequisito: recupera il Next-Action ID dalla scheda Rete del browser (cerca un'intestazione Next-Action nelle richieste POST) oppure dall'output del terminale del server.

Utilizzo con Docker (consigliato)

  1. Entra nel container dell'attaccante:
    root@kitploit:~
    docker exec -it exploit-runner bash
    
  2. Esporta l'Action ID ed esegui l'exploit:
    root@kitploit:~
    export ACTION_ID="your_action_id_here"
    python3 rce.py "id"
    

Utilizzo con Python locale

  1. Installa le dipendenze:
    root@kitploit:~
    pip install -r exploits/requirements.txt
    
  2. Esegui l'exploit (imposta ACTION_ID come variabile d'ambiente o modifica lo script):
    root@kitploit:~
    export ACTION_ID="your_action_id_here"
    python3 exploits/rce.py "id"
    

Nota: lo script rce.py è configurato per dimostrare l'inquinamento dello stato riuscito. L'esecuzione completa della shell dipende da gadget ambientali specifici che possono variare.

Dichiarazione di non responsabilità

Questo progetto è destinato esclusivamente a scopi educativi e ricerca sulla sicurezza.

Non utilizzare il codice o le tecniche qui fornite su sistemi per i quali non disponi di un'autorizzazione esplicita e scritta. Gli autori non sono responsabili di eventuali usi impropri o danni causati da questo materiale.

Scarica lo strumento