Vulnerabilidad de omisión de autorización en el middleware de Next.js: CVE-2025-29927

Next.js es un conocido framework de React para el desarrollo de aplicaciones web full-stack, ampliamente adoptado por sus funcionalidades de renderizado del lado del servidor y generación de sitios estáticos. El middleware en Next.js permite a los desarrolladores ejecutar código antes de que se complete una solicitud, habilitando funcionalidades como la autenticación y la autorización. Se ha identificado una vulnerabilidad de seguridad crítica en versiones de Next.js anteriores a la 14.2.25 y 15.2.3, que podría permitir a atacantes eludir los controles de autorización implementados en el middleware, permitiendo potencialmente el acceso no autorizado a recursos sensibles.

ProductoNext.js
Fecha2025-03-24 11:03:35
Información
  • Solución disponible

Resumen técnico

La vulnerabilidad, identificada como CVE-2025-29927, deriva de una gestión incorrecta de la cabecera interna x-middleware-subrequest. Next.js utiliza esta cabecera para evitar que las solicitudes recursivas provoquen bucles infinitos. Sin embargo, un atacante puede aprovechar este mecanismo creando solicitudes que incluyan la cabecera x-middleware-subrequest, saltándose de hecho la ejecución del middleware. Este bypass puede conducir a accesos no autorizados a rutas y recursos protegidos dentro de una aplicación Next.js.

Recomendaciones

Para mitigar los riesgos asociados con CVE-2025-29927, es esencial adoptar las siguientes medidas:

  1. Actualizar Next.js: Actualiza tu aplicación Next.js a las versiones corregidas:
  • Para Next.js 15.x, actualizar a la versión 15.2.3.
  • Para Next.js 14.x, actualizar a la versión 14.2.25.
  • Para Next.js 13.x, actualizar a la versión 13.5.9.
  • Para Next.js 12.x, actualizar a la versión 12.3.5.
  1. Implementar el filtrado de solicitudes: Si no es posible realizar la actualización de inmediato, configura la aplicación o el proxy inverso para bloquear las solicitudes externas que contengan la cabecera x-middleware-subrequest. Esta medida puede prevenir intentos de bypass del middleware no autorizados.

  2. Desplegar reglas WAF: Utiliza soluciones de Web Application Firewall (WAF) para detectar y bloquear las solicitudes que intenten explotar esta vulnerabilidad. Por ejemplo, Cloudflare ha publicado una regla WAF gestionada para proteger contra CVE-2025-29927.

  3. Revisar la lógica de autorización: Asegúrate de que los controles de autorización críticos no dependan exclusivamente del middleware. Implementa controles redundantes a nivel de ruta o controlador para aumentar la seguridad.

  4. Monitorear y auditar los registros: Analiza regularmente los registros del servidor en busca de patrones de acceso inusuales o intentos de acceso no autorizado, en particular aquellos que involucren la cabecera x-middleware-subrequest.

[Callforaction-THREAT-Footer]