
Simula la CVE-2025-29927, una vulnerabilità critica di Next.js che consente agli aggressori di bypassare l'autorizzazione del middleware sfruttando l'header HTTP interno x-middleware-subrequest. Dimostra l'accesso non autorizzato a route protette e fornisce strategie di mitigazione.
Questo repository dimostra lo sfruttamento di CVE-2025-29927, una vulnerabilità critica in Next.js che consente agli attaccanti di bypassare i controlli di autorizzazione basati su middleware. Il difetto deriva da una gestione impropria dell'header HTTP interno x-middleware-subrequest, che consente l'accesso non autorizzato a rotte protette.
Questo progetto è destinato esclusivamente a scopi educativi e di ricerca. L'uso non autorizzato contro sistemi senza esplicita autorizzazione è illegale e non etico. Gli autori non sono responsabili di qualsiasi uso improprio di questo codice.
CVE-2025-29927 colpisce le versioni di Next.js precedenti a:
La vulnerabilità si manifesta quando un attaccante include l'header x-middleware-subrequest in una richiesta HTTP. Next.js interpreta questo header come una subrichiesta interna, facendogli saltare l'esecuzione del middleware, inclusi i controlli critici di autorizzazione.
git clone https://github.com/Knotsecurity/CVE-2025-29927-NextJs-Middleware-Simulation.git
cd cve-2025-29927-simulationnpm installnpm run dev
L'applicazione include una rotta protetta su /admin, protetta da middleware che verifica l'autenticazione dell'utente.
/login ed effettua l'accesso con [email protected]:password123./admin. Riceverai un errore di accesso non autorizzato.x-middleware-subrequest: middleware, poi invia la richiesta./admin.Per proteggersi da questa vulnerabilità:
npm install next@latestx-middleware-subrequest.