CVE-2024-46982
Cache Poisoning in next.js
En resumen
Next.js puede ser engañado para cachear páginas web que no deberían ser cacheadas mediante solicitudes HTTP diseñadas especialmente. Esto permite que atacantes vean información desactualizada o sensible que debería mantenerse fresca, afectando sitios que usan ciertas versiones de Next.js con el pages router.
Detalle técnico
Vulnerabilidad de envenenamiento de caché en el pages router de Next.js permite que atacantes envíen solicitudes HTTP manipuladas que obligan al framework a cachear rutas renderizadas en servidor no dinámicas con directivas s-maxage, permitiendo que CDNs aguas arriba sirvan contenido obsoleto. Afecta Next.js 13.5.1–14.2.9 usando pages router (app router no afectado); requiere actualización a v13.5.7, v14.2.10 o posterior.
Resumen generado y traducido por IA a partir de la descripción oficial.
Next.js is a React framework for building full-stack web applications. By sending a crafted HTTP request, it is possible to poison the cache of a non-dynamic server-side rendered route in the pages router (this does not affect the app router). When this crafted request is sent it could coerce Next.js to cache a route that is meant to not be cached and send a `Cache-Control: s-maxage=1, stale-while-revalidate` header which some upstream CDNs may cache as well. To be potentially affected all of the following must apply: 1. Next.js between 13.5.1 and 14.2.9, 2. Using pages router, & 3. Using non-dynamic server-side rendered routes e.g. `pages/dashboard.tsx` not `pages/blog/[slug].tsx`. This vulnerability was resolved in Next.js v13.5.7, v14.2.10, and later. We recommend upgrading regardless of whether you can reproduce the issue or not. There are no official or recommended workarounds for this issue, we recommend that users patch to a safe version.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H