Nueva vulnerabilidad crítica en Next.js permite eludir comprobaciones de autorización
Nueva vulnerabilidad crítica en Next.js permite eludir comprobaciones de autorización

Nueva vulnerabilidad crítica en Next.js permite eludir comprobaciones de autorización

Se ha descubierto una falla de seguridad crítica en el framework React de Next.js que podría permitir a los atacantes eludir las comprobaciones de autorización en ciertas condiciones. La vulnerabilidad, identificada como CVE-2025-29927, tiene una puntuación CVSS de 9,1 sobre 10.

Detalles técnicos

Next.js utiliza un encabezado interno x-middleware-subrequest para evitar que las solicitudes recursivas generen bucles infinitos. Sin embargo, era posible omitir la ejecución del middleware, lo que podría permitir que las solicitudes omitieran comprobaciones críticas, como la validación de cookies de autorización, antes de llegar a las rutas.

Versiones afectadas y correcciones

Las versiones vulnerables son todas las versiones de Next.js 15.x hasta la 15.2.3, todas las versiones de 14.x hasta la 14.2.25 y las versiones 11.1.4-13.5.6. La deficiencia se ha solucionado en las versiones 12.3.5, 13.5.9, 14.2.25 y 15.2.3.

Si no es posible aplicar un parche, se recomienda a los usuarios evitar que las solicitudes de usuarios externos que contengan el encabezado x-middleware-subrequest lleguen a la aplicación Next.js.

Descubrimiento y análisis

El investigador de seguridad Rachid Allam, también conocido como zhero y cold-try, ha publicado detalles técnicos adicionales sobre la falla. Los usuarios deben actuar rápidamente para aplicar las correcciones.

Riesgos potenciales

Esta vulnerabilidad permite a los atacantes eludir fácilmente las comprobaciones de autorización realizadas en el middleware de Next.js, lo que podría permitirles acceder a páginas web confidenciales reservadas para administradores u otros usuarios con privilegios elevados.

Funcionamiento del middleware

Next.js ofrece a los usuarios el uso de middleware, que permite ejecutar código antes de que se complete una solicitud. Se llamará al middleware para cada ruta del proyecto y puede utilizarse para autenticar/autorizar a los usuarios mediante la comprobación de cookies de sesión, registros, análisis, etc.

Cualquier sitio web que utilice middleware para autorizar a los usuarios sin comprobaciones adicionales es vulnerable. Los usuarios de Next.js podrían ser vulnerables si el archivo middleware.ts o _middleware.ts existe en su implementación; esto indica la presencia de un middleware, pero no necesariamente que se utilice para la autorización.

Además, los usuarios de Next.js que usan paquetes npm que añaden un middleware de autorización de Next.js también son vulnerables.

Consideraciones adicionales

Es importante tener en cuenta que los usuarios que utilizan múltiples capas de seguridad deberían estar seguros: la comprobación del middleware se omitiría, pero los atacantes no deberían poder omitir todas las comprobaciones.

Antes de ejecutar el middleware en una solicitud, se realiza una comprobación en la cabecera HTTP x-middleware-subrequest. Si dicha cabecera incluye el valor correcto, el middleware se omite por completo, independientemente de su funcionalidad prevista.

Se descubrió que los atacantes podían incluir este encabezado en una solicitud, lo que les permitía eludir el middleware incluso en casos donde debería ejecutarse. Esto es peligroso. Un ejemplo es un sitio web con un panel de administración que utiliza cookies de sesión para autorizar a los administradores que ya han iniciado sesión.

Aprovechar esta vulnerabilidad permitiría a un atacante acceder al panel de administración sin que se haya aplicado una comprobación de autorización a su solicitud.

Conclusión

La compañía indicó que cualquier sitio web que utilice middleware para autorizar a los usuarios sin comprobaciones de autorización adicionales es vulnerable a CVE-2025-29927, lo que podría permitir a los atacantes acceder a recursos que de otro modo no estarían autorizados (por ejemplo, páginas de administración).