Vulnerabilidad crítica de Next.js permite eludir las comprobaciones de autorización del middleware

Se ha revelado una falla de seguridad crítica en el framework React de Next.js
que podría explotarse para eludir las comprobaciones de autorización en
determinadas circunstancias.

La vulnerabilidad, identificada como
CVE-2025-29927, tiene una puntuación CVSS de 9,1 sobre 10.

«Next.js utiliza un encabezado interno x-middleware-subrequest para evitar
que las solicitudes recursivas generen bucles infinitos»
,
declaró Next.js en un aviso.
«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»
.

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.

El investigador de seguridad Rachid Allam (también conocido como
zhero
y cold-try), a quien se le atribuye el descubrimiento y el informe de la
falla, ha publicado desde entonces
detalles técnicos adicionales de la falla,
lo que hace imperativo que los usuarios actúen rápidamente para aplicar las
correcciones.

«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»
,
afirmó JFrog.

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 (como https://npmjs.com/package/nextjs-basic-auth-middleware) también son vulnerables.

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.

La compañía también 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).

Fuente:
THN



Ver fuente

Related Post