
Simula CVE-2025-29927, una vulnerabilidad crítica de Next.js que permite a los atacantes eludir la autorización de middleware explotando la cabecera HTTP interna x-middleware-subrequest. Demuestra el acceso no autorizado a rutas protegidas y proporciona estrategias de mitigación.
Este repositorio demuestra la explotación de CVE-2025-29927, una vulnerabilidad crítica en Next.js que permite a los atacantes omitir las comprobaciones de autorización basadas en middleware. El fallo se debe al manejo incorrecto de la cabecera HTTP interna x-middleware-subrequest, lo que permite el acceso no autorizado a rutas protegidas.
Este proyecto está destinado únicamente a fines educativos y de investigación. El uso no autorizado contra sistemas sin permiso explícito es ilegal y poco ético. Los autores no se hacen responsables del mal uso de este código.
CVE-2025-29927 afecta a las versiones de Next.js anteriores a:
La vulnerabilidad surge cuando un atacante incluye la cabecera x-middleware-subrequest en una petición HTTP. Next.js interpreta esta cabecera como una subpetición interna, lo que provoca que omita la ejecución del middleware, incluidas las comprobaciones críticas de autorización.
git clone https://github.com/Knotsecurity/CVE-2025-29927-NextJs-Middleware-Simulation.git
cd cve-2025-29927-simulationnpm installnpm run dev
La aplicación incluye una ruta protegida en /admin, que está custodiada por un middleware que verifica la autenticación del usuario.
/login e inicia sesión con [email protected]:password123./admin. Obtendrás un error de acceso no autorizado.x-middleware-subrequest: middleware; luego envía la petición./admin.Para protegerte contra esta vulnerabilidad:
npm install next@latestx-middleware-subrequest.