Baja

Next.js's Middleware / Proxy redirects can be cache-poisoned

  • Publicada: 11.05.2026
  • Actualizado: 11.10.2026 10:22

Impact

Next.js uses the x-nextjs-data request header for internal data requests. On affected versions, an external client could send this header on a normal request to a path handled by middleware that returns a redirect.

When that happened, the middleware/proxy could treat the request as a data request and replace the standard Location redirect header with the internal x-nextjs-redirect header. Browsers do not follow x-nextjs-redirect, so the response became an unusable redirect for normal clients.

If the application was deployed behind a CDN or reverse proxy that caches 3xx responses without varying on this header, a single attacker request could poison the cached redirect response for the affected path. Subsequent visitors could then receive a cached redirect response without a Location header, causing a denial of service for that redirect path until the cache entry expired or was purged.

Affected scenarios

This affects applications that:

  • use middleware or proxy redirects
  • are deployed behind a caching CDN or reverse proxy
  • allow 3xx responses on those paths to be cached without differentiating internal data requests from normal requests

Fix

The fix stops trusting x-nextjs-data by itself for middleware redirect handling. A request is now treated as an internal data request only when it is validated as such by internal routing state, preserving legitimate data-request redirect behavior while preventing external header injection from changing normal redirect responses.

Workarounds

Before upgrading, users can reduce risk by:

  • configuring the CDN or reverse proxy to vary its cache key on x-nextjs-data for affected responses

Software afectado

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

PlataformaPaqueteVersiones vulnerablesCorregida en
Paquete de npm next >= 12.2.0, < 15.5.16, >= 16.0.0, < 16.2.5 15.5.16, 16.2.5

Referencias

Puntuación CVSS 3.7/10
Vector CVSS
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Debilidad (CWE)
CWE-349
Plataforma
npm
Paquete
next
Publicada
11.05.2026
Actualizado
11.10.2026 10:22

Fuentes y licencias

OSV / GitHub Advisory Database - GHSA-3g8h-86w9-wvmq - CC BY 4.0

Historial de vulnerabilidades: next

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.

Todas (73) en el archivo
Entradas en total
73
Primera → última
12.2017 10.2026
Sin corrección
0
Explotada en ataques
0

Distribución por gravedad

  • Crítica 5
  • Alta 27
  • Media 32
  • Baja 9

Divulgaciones por año

  1. 2017: 1
  2. 2018: 2
  3. 2019: 0
  4. 2020: 3
  5. 2021: 3
  6. 2022: 3
  7. 2023: 1
  8. 2024: 6
  9. 2025: 14
  10. 2026: 40
Gravedad:
  1. Alta · 6.5 CVE-2026-94483 >= 16.0.0, < 16.3.8 16.3.8
  2. Crítica ghsa-vcvr-r3jv-pc5j >= 16.2.0, < 16.3.6 16.3.6
  3. Crítica ghsa-2xp9-vwfh-vxw4 >= 10.0.0, < 15.5.24, >= 16.0.0, < 16.3.3 15.5.24, 16.3.3
  4. Crítica · 9.0 CVE-2026-75604 >= 13.4.0, < 15.5.24, >= 16.0.0, < 16.3.3 15.5.24, 16.3.3
  5. Alta CVE-2026-64649 >= 14.1.1, < 15.5.21, >= 16.0.0, < 16.2.11 15.5.21, 16.2.11
  6. Alta CVE-2026-64645 >= 12.0.0, < 15.5.21, >= 16.0.0, < 16.2.11 15.5.21, 16.2.11
  7. Alta CVE-2026-64641 >= 13.0.0, < 15.5.21, >= 16.0.0, < 16.2.11 15.5.21, 16.2.11
  8. Alta · 7.5 CVE-2026-45109 >= 15.2.0, < 15.5.18, >= 16.0.0, < 16.2.6 15.5.18, 16.2.6
  9. Next.js's Middleware / Proxy redirects can be cache-poisoned esta entrada
    Baja · 3.7 CVE-2026-44572 >= 12.2.0, < 15.5.16, >= 16.0.0, < 16.2.5 15.5.16, 16.2.5
  10. Alta · 7.5 CVE-2026-44579 >= 15.0.0, < 15.5.16, >= 16.0.0, < 16.2.5 15.5.16, 16.2.5
  11. Alta · 8.6 CVE-2026-44578 >= 13.4.13, < 15.5.16, >= 16.0.0, < 16.2.5 15.5.16, 16.2.5
  12. Alta · 7.5 CVE-2026-44575 >= 15.2.0, < 15.5.16, >= 16.0.0, < 16.2.5 15.5.16, 16.2.5
  13. Alta · 8.1 CVE-2026-44574 >= 15.4.0, < 15.5.16, >= 16.0.0, < 16.2.5 15.5.16, 16.2.5
  14. Alta · 7.5 CVE-2026-44573 >= 12.2.0, < 15.5.16, >= 16.0.0, < 16.2.5 15.5.16, 16.2.5
  15. Alta · 7.5 ghsa-8h8q-6873-q5fj >= 13.0.0, < 15.5.16, >= 16.0.0, < 16.2.5 15.5.16, 16.2.5
  16. Alta · 7.5 ghsa-q4gf-8mx6-v5v3 >= 13.0.0, < 15.5.15, >= 16.0.0-beta.0, < 16.2.3 15.5.15, 16.2.3
  17. Alta · 7.5 ghsa-h25m-26qc-wcjf >= 13.0.0, < 15.0.8, >= 15.1.1-canary.0, < 15.1.12, >= 15.2.0-canary.0, < 15.2.9, >= 15.3.0-canary.0, < 15.3.9, >= 15.4.0-canary.0, < 15.4.11, >= 15.5.1-canary.0, < 15.5.10, >= 15.6.0-canary.0, < 15.6.0-canary.61, >= 16.0.0-beta.0, < 16.0.11, >= 16.1.0-canary.0, < 16.1.5 15.0.8, 15.1.12, 15.2.9, 15.3.9, 15.4.11, 15.5.10, 15.6.0-canary.61, 16.0.11, 16.1.5
  18. Alta · 7.5 ghsa-5j59-xgg2-r9c4 >= 13.3.1-canary.0, < 14.2.35, >= 15.0.6, < 15.0.7, >= 15.1.10, < 15.1.11, >= 15.2.7, < 15.2.8, >= 15.3.7, < 15.3.8, >= 15.4.9, < 15.4.10, >= 15.5.8, < 15.5.9, >= 15.6.0-canary.59, < 15.6.0-canary.60, >= 16.0.9, < 16.0.10, >= 16.1.0-canary.17, < 16.1.0-canary.19 14.2.35, 15.0.7, 15.1.11, 15.2.8, 15.3.8, 15.4.10, 15.5.9, 15.6.0-canary.60, 16.0.10, 16.1.0-canary.19
  19. Alta · 7.5 ghsa-mwv6-3258-q52c >= 13.3.0, < 14.2.34, >= 15.0.0-canary.0, < 15.0.6, >= 15.1.1-canary.0, < 15.1.10, >= 15.2.0-canary.0, < 15.2.7, >= 15.3.0-canary.0, < 15.3.7, >= 15.4.0-canary.0, < 15.4.9, >= 15.5.1-canary.0, < 15.5.8, >= 15.6.0-canary.0, < 15.6.0-canary.59, >= 16.0.0-beta.0, < 16.0.9, >= 16.1.0-canary.0, < 16.1.0-canary.17 14.2.34, 15.0.6, 15.1.10, 15.2.7, 15.3.7, 15.4.9, 15.5.8, 15.6.0-canary.59, 16.0.9, 16.1.0-canary.17
  20. Crítica · 10.0 ghsa-9qr9-h5gf-34mp >= 14.3.0-canary.77, < 15.0.5, >= 15.1.0-canary.0, < 15.1.9, >= 15.2.0-canary.0, < 15.2.6, >= 15.3.0-canary.0, < 15.3.6, >= 15.4.0-canary.0, < 15.4.8, >= 15.5.0-canary.0, < 15.5.7, >= 16.0.0-canary.0, < 16.0.7 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7
  21. Alta · 7.5 CVE-2025-49826 >= 15.0.4-canary.51, < 15.1.8 15.1.8
  22. Crítica · 9.1 CVE-2025-29927 >= 13.0.0, < 13.5.9, >= 14.0.0, < 14.2.25, >= 15.0.0, < 15.2.3, >= 12.0.0, < 12.3.5 13.5.9, 14.2.25, 15.2.3, 12.3.5
  23. Alta · 7.5 CVE-2024-51479 >= 9.5.5, < 14.2.15 14.2.15
  24. Alta · 7.5 CVE-2024-46982 >= 13.5.1, < 13.5.7, >= 14.0.0, < 14.2.10 13.5.7, 14.2.10
  25. Alta · 7.5 CVE-2024-39693 >= 13.3.1, < 13.5.0 13.5.0
  26. Alta · 7.5 CVE-2024-34351 >= 13.4.0, < 14.1.1 14.1.1
  27. Alta · 7.5 CVE-2024-34350 >= 13.4.0, < 13.5.1 13.5.1
  28. Alta · 7.5 CVE-2021-43803 >= 12.0.0, < 12.0.5, >= 0.9.9, < 11.1.3 12.0.5, 11.1.3
  29. Alta · 7.5 CVE-2021-39178 >= 10.0.0, < 11.1.1 11.1.1
  30. Alta ghsa-5vj8-3v2h-h38v >= 0.9.9, < 5.1.0 5.1.0
  31. Alta · 7.5 CVE-2018-6184 >= 1.0.0, < 4.2.3 4.2.3
  32. Alta · 7.5 CVE-2017-16877 >= 1.0.0, < 2.4.1 2.4.1

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.