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-2026-29057-POC — Lab basato su Docker che riproduce il request smuggling di Next.js CVE-2026-29057, confrontando la versione vulnerabile 15.5.12 con la versione corretta 15.5.13 tramite un payload HTTP chunked grezzo. | Kitploit
Strumenti/GitHubGitHub/learnerxuan/cve-2026-29057-poc
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebSicurezza WebPenetration TestingPaper e RicercaApprendimento e FormazioneLab e Pratica
GitHub
learnerxuan/cve-2026-29057-poc

CVE-2026-29057-POC

Lab basato su Docker che riproduce il request smuggling di Next.js CVE-2026-29057, confrontando la versione vulnerabile 15.5.12 con la versione corretta 15.5.13 tramite un payload HTTP chunked grezzo.

Vedi Repository
8h 17m 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-2026-29057 — Laboratorio di Request Smuggling in Next.js

Questo repository è un laboratorio di presentazione mirato per CVE-2026-29057. Confronta un target Next.js vulnerabile (15.5.12) con la release corretta (15.5.13) utilizzando la stessa topologia e lo stesso payload HTTP grezzo.

Usalo solo in un laboratorio isolato. Le sonde di request-desynchronization possono interrompere le connessioni condivise in ambienti reali.

Attribuzione

Questo repository è adattato dal repository originale del Proof of Concept di Next.js di Nayaka Ghana Subrata. Il pieno merito va all'autore originale per il lavoro fondamentale di proof-of-concept.

Ho riorganizzato e modificato quel lavoro per concentrarmi specificamente su CVE-2026-29057, inclusi i materiali di presentazione, la dimostrazione guidata, lo scenario di laboratorio, i commenti esplicativi e il confronto vulnerabile-versus-corretto. Questo repository è un adattamento educativo e non deve essere confuso con il repository dell'autore originale.

Presentazione

  • Slide di presentazione di CVE-2026-29057
  • Script di presentazione
  • Runbook della demo
  • Q&A del presentatore
  • Cosa dimostra il laboratorio

    1. Il client invia una singola richiesta chunked DELETE /api/workspace/tasks/1042.
    2. Il suo body contiene byte che compongono una seconda richiesta: GET /secret.
    3. Il proxy vulnerabile rimuove Transfer-Encoding e aggiunge Content-Length: 0, mentre i byte del body vengono comunque inoltrati.
    4. L'intermediario a valle interpreta i byte rimanenti come una seconda richiesta e inoltra entrambe le richieste interpretate al backend finale.
    TargetNext.jsRichieste al backend
    Vulnerabile15.5.12DELETE /api/workspace/tasks/1042, poi GET /secret
    Corretto15.5.13solo DELETE /api/workspace/tasks/1042

    Struttura del repository

    root@kitploit:~
    .
    ├── docker-compose.yml
    ├── DEMO-RUNBOOK.md
    ├── PRESENTATION-SCRIPT.md
    ├── PRESENTATION-QA.md
    ├── pocs/cve-2026-29057/
    │   ├── app/
    │   ├── support/server.js
    │   ├── next.config.js
    │   └── Dockerfile
    └── scripts/run-cve-2026-29057.mjs
    

    Avvia il laboratorio

    Requisiti: Docker Compose e Node.js 18 o superiore.

    root@kitploit:~
    docker compose up --build cve-2026-29057-vuln cve-2026-29057-fixed
    
    • Vulnerabile: http://localhost:3105
    • Corretto: http://localhost:3106

    Esegui la dimostrazione differenziale

    root@kitploit:~
    node scripts/run-cve-2026-29057.mjs http://localhost:3105
    node scripts/run-cve-2026-29057.mjs http://localhost:3106
    

    Evidenza attesa per la versione vulnerabile:

    root@kitploit:~
    [after] {"backendRequests":["DELETE /api/workspace/tasks/1042","GET /secret"],"flag":"FLAG{one_stream_two_requests}"}
    PoC result: vulnerable behavior reproduced.
    Flag: FLAG{one_stream_two_requests}
    

    Evidenza attesa per la versione corretta:

    root@kitploit:~
    [after] {"backendRequests":["DELETE /api/workspace/tasks/1042"],"flag":null}
    PoC result: smuggled request was not observed. This usually means the target is patched.
    

    L'evidenza significativa è differenziale: topologia e payload rimangono invariati; differisce solo la versione di Next.js.

    Storia della scoperta black-box

    Il laboratorio non richiede al presentatore di fingere che un attaccante conosca magicamente entrambi i percorsi:

    1. La pagina etichetta visibilmente Launch brief come Task #1042. Clicca Delete task mentre navighi attraverso Burp. La cronologia del proxy mostra la richiesta legittima DELETE /api/workspace/tasks/1042, quindi il percorso carrier proviene direttamente dal traffico normale dell'applicazione.
    2. Richiedi /robots.txt. Punta all'artefatto /ops/release-manifest distribuito accidentalmente.
    3. Richiedi quel manifest. Identifica /api/workspace/ come prefisso del servizio pubblico, rivela /secret come route interna e indica /api/state come log delle richieste. Non rivela la flag stessa.

    Il manifest è una debolezza deliberata di information-disclosure per la narrazione del laboratorio. È separato da CVE-2026-29057; la CVE fornisce il bypass di request-framing che raggiunge la route backend divulgata.

    I nomi delle route sono fixture del laboratorio, non percorsi recuperati da una vittima reale. La patch ufficiale di Vercel ha aggiunto un test di regressione che definisce /rewrites/:path*, usa /rewrites/poc come carrier e crea /secret sul backend di test. Questo laboratorio dà al carrier un nome dal sapore produttivo pur preservando quella struttura di test.

    Ordine di walkthrough del codice

    1. docker-compose.yml — versioni vulnerabile versus corretta.
    2. pocs/cve-2026-29057/next.config.js — confine di rewrite esterno.
    3. pocs/cve-2026-29057/support/server.js — parser dell'intermediario e del backend.
    4. scripts/run-cve-2026-29057.mjs — payload chunked grezzo e verificatore dei risultati.
    5. pocs/cve-2026-29057/app/api/ — endpoint di reset e lettura delle evidenze.

    Ferma il laboratorio

    root@kitploit:~
    docker compose down
    

    Fonti

    • GitHub Security Advisory GHSA-ggv3-7p47-pfv8
    • Commit della patch di Next.js
    • Record NVD
    Scarica lo strumento