
Next.js e il middleware corrotto...PROVA A HACKERARLO..!
Questo è un progetto di esempio Next.js inizializzato con [create-next-app] per spiegare praticamente come funziona cve-2025-29927. (https://nextjs.org/docs/app/api-reference/cli/create-next-app).
Per prima cosa, avvia il server di sviluppo:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
Apri http://localhost:3000 con il tuo browser per vedere il risultato.
ORA puoi usare Burp o altre estensioni del browser per modificare le intestazioni e sfruttare il Middleware usando il payload.

Quando un'applicazione next.js utilizza un middleware, viene usata la funzione runMiddleware, la quale - oltre alla sua utilità principale - recupera il valore dell'intestazione x-middleware-subrequest e lo usa per sapere se il middleware debba essere applicato o meno. Il valore dell'intestazione viene suddiviso per creare una lista usando il carattere due punti (:) come separatore e poi verifica se questa lista contiene il valore middlewareInfo.name.
Ciò significa che se aggiungiamo l'intestazione x-middleware-subrequest con il valore corretto alla nostra richiesta, il middleware - indipendentemente dal suo scopo - verrà completamente ignorato e la richiesta sarà inoltrata tramite NextResponse.next() e completerà il suo percorso verso la destinazione originale senza che il middleware abbia alcun impatto/influenza su di essa. L'intestazione e il suo valore agiscono come una chiave universale che permette di sovrascrivere le regole. A questo punto sappiamo già di aver appena scoperto qualcosa di pazzesco.
Prendi nota che stiamo usando "next": "14.0.4" qui.