Alta

OpenNext Cloudflare: La interceptación de caché puede omitir la protección del middleware en rutas codificadas

  • Publicada: 15.10.2026
  • Actualizado: 16.10.2026 08:00

Resumen

Cuando la interceptación de caché está habilitada, @opennextjs/cloudflare puede interpretar las rutas con codificación por porcentaje de forma diferente durante la coincidencia del middleware y la búsqueda en caché.

Una solicitud codificada puede no coincidir con el middleware de autorización y luego ser descodificada en la clave de caché de una ruta protegida. En consecuencia, la respuesta almacenada en caché puede devolverse sin ejecutar el middleware.

enableCacheInterception está deshabilitado de forma predeterminada.

Impacto

Un atacante remoto no autenticado puede recuperar contenido almacenado en caché de rutas destinadas a estar protegidas por middleware.

Una aplicación se ve afectada si:

  • habilita explícitamente enableCacheInterception;
  • depende del middleware para el control de acceso; y
  • cuenta con una ruta coincidente almacenada en caché.

Detalles

Anteriormente, la coincidencia del middleware utilizaba el pathname codificado de la solicitud, mientras que la interceptación de caché descodificaba el pathname antes de seleccionar una entrada en la caché.

Por ejemplo, considere una aplicación con:

  • matcher de middleware /admin/:path*;
  • middleware que devuelve 401 Authentication required para /admin;
  • una ruta estática generada y almacenada en caché /admin; y
  • interceptación de caché habilitada:
ts
export default defineCloudflareConfig({
  incrementalCache: staticAssetsIncrementalCache,
  enableCacheInterception: true,
});

Un atacante puede solicitar:

http
GET /%61dmin

El pathname codificado no coincide con /admin/:path*, por lo que el middleware de autorización no se ejecuta. A continuación, la interceptación de caché descodifica %61dmin a admin y puede devolver la respuesta almacenada en caché de /admin:

http
HTTP/1.1 200 OK
x-opennext-cache: HIT

Protected content

Las rutas mal formadas expusieron una inconsistencia adicional. Por ejemplo:

http
GET /%61dmin/%ZZ

La implementación anterior descodificaba cada segmento de forma independiente. Descodificaba %61dmin a admin, pero retenía el segmento mal formado %ZZ, permitiendo que la búsqueda en caché continuara utilizando una ruta parcialmente descodificada.

Parches

La corrección unifica el tratamiento de rutas codificadas entre la coincidencia de middleware y la búsqueda en caché, y rechaza las rutas mal formadas en lugar de descodificarlas parcialmente. Consulte las correcciones originales en opennextjs-aws#1199 y opennextjs-aws#1200..

Se recomienda a los usuarios actualizar a @opennextjs/cloudflare@1.20.2 o superior.

Qué hacer

Actualice a @opennextjs/cloudflare@1.20.2 o posterior. Si no es posible actualizar de inmediato, aplique las siguientes medidas de mitigación:

  1. Desactive la interceptación de caché eliminando enableCacheInterception: true.
  2. Aplique la autorización directamente dentro de los controladores de rutas protegidas en lugar de depender únicamente del middleware.
  3. Rechace rutas codificadas dirigidas a rutas protegidas mediante un proxy de confianza antes de que lleguen al Worker.

Añadir variantes individuales codificadas en los patrones del matcher no es una solución completa, ya que los nombres de ruta pueden admitir múltiples codificaciones equivalentes.

Software afectado

Haz clic en una tecnología para ver todas sus vulnerabilidades.

PlataformaPaqueteVersiones vulnerablesCorregida en
Paquete de npm @opennextjs/cloudflare >= 0.3.0, < 1.20.2 1.20.2

Referencias

Puntuación CVSS 7.5/10
Vector CVSS
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Debilidad (CWE)
CWE-177, CWE-180
Plataforma
npm
Paquete
@opennextjs/cloudflare
Publicada
15.10.2026
Actualizado
16.10.2026 08:00

Fuentes y licencias · Editado o traducido por DockRay; se mantienen los derechos y las licencias de las fuentes.

OSV / GitHub Advisory Database - GHSA-2vc4-c4r6-p6v6 - CC BY 4.0

Historial de vulnerabilidades: @opennextjs/cloudflare

Todas las vulnerabilidades publicadas de este paquete (Paquete de npm), de la más reciente a la más antigua. Muestra si es un fallo aislado o un paquete que hay que vigilar.

Entradas en total
2
Primera → última
06.2025 10.2026
Sin corrección
0
Explotada en ataques
0

Distribución por gravedad

  • Alta 2

Divulgaciones por año

  1. 2025: 1
  2. 2026: 1
  1. OpenNext Cloudflare: La interceptación de caché puede omitir la protección del middleware en rutas codificadas esta entrada
    Alta · 7.5 CVE-2026-100409 >= 0.3.0, < 1.20.2 1.20.2

Identifica las vulnerabilidades de tu aplicación

Con la integración de DockRay y el inventario de software activado, DockRay compara las versiones notificadas de los componentes con las vulnerabilidades conocidas y avisa de las coincidencias confirmadas. La cobertura depende de la tecnología compatible y de los avisos disponibles.

Conectar tu aplicación
Newsletter DockRay

La seguridad de tus aplicaciones en tu correo

Vulnerabilidades importantes, recomendaciones concretas y consejos prácticos para tus aplicaciones. Elige tus tecnologías y sigue lo que importa para tu proyecto.

  • Un resumen diario de nuevas vulnerabilidades, también las críticas.
  • Avisos sobre actualizaciones importantes.
  • Consejos prácticos sobre seguridad y monitorización de aplicaciones.

Déjalo vacío para recibir avisos de todas las tecnologías.

Suscripción gratuita. Date de baja con un clic en cualquier correo.