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:
Next.js between 13.5.1 and 14.2.9
Using pages router
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.
Workarounds
There are no official or recommended workarounds for this issue, we recommend that users patch to a safe version.
This PR contains the following updates:
14.2.5
->14.2.10
GitHub Vulnerability Alerts
CVE-2024-46982
Impact
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:
pages/dashboard.tsx
notpages/blog/[slug].tsx
The below configurations are unaffected:
Patches
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.
Workarounds
There are no official or recommended workarounds for this issue, we recommend that users patch to a safe version.
Credits
Release Notes
vercel/next.js (next)
### [`v14.2.10`](https://redirect.github.com/vercel/next.js/compare/v14.2.9...v14.2.10) [Compare Source](https://redirect.github.com/vercel/next.js/compare/v14.2.9...v14.2.10) ### [`v14.2.9`](https://redirect.github.com/vercel/next.js/compare/v14.2.8...v14.2.9) [Compare Source](https://redirect.github.com/vercel/next.js/compare/v14.2.8...v14.2.9) ### [`v14.2.8`](https://redirect.github.com/vercel/next.js/compare/v14.2.7...v14.2.8) [Compare Source](https://redirect.github.com/vercel/next.js/compare/v14.2.7...v14.2.8) ### [`v14.2.7`](https://redirect.github.com/vercel/next.js/compare/v14.2.6...v14.2.7) [Compare Source](https://redirect.github.com/vercel/next.js/compare/v14.2.6...v14.2.7) ### [`v14.2.6`](https://redirect.github.com/vercel/next.js/compare/v14.2.5...v14.2.6) [Compare Source](https://redirect.github.com/vercel/next.js/compare/v14.2.5...v14.2.6)Configuration
📅 Schedule: Branch creation - "" in timezone Asia/Shanghai, Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.