GitHub Advisoryadvisory · npm
GHSA-gp8f-8m3g-qvj9 Next.js Cache Poisoning
HIGH
Official page ↗
- Aliases
- CVE-2024-46982
- Ecosystem
- npm
- Packages
- next
- Severity
- High
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- Weaknesses
- CWE-349, CWE-639
- Reviewed
- 2024-09-17
Affected packages
• npm next: >= 13.5.1, < 13.5.7 → fixed in 13.5.7
• npm next: >= 14.0.0, < 14.2.10 → fixed in 14.2.10
Description
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:
• 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`
The below configurations are unaffected:
• Deployments using only app router
• Deployments on Vercel are not affected
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
• Allam Rachid (zhero_)
• Henry Chen
Related
Alias · CVE (1)
- CVE-2024-46982 Next.js is a React framework for building full-stack web applications. vulnerability
References
- https://github.com/vercel/next.js/security/advisories/GHSA-gp8f-8m3g-qvj9 web
- https://nvd.nist.gov/vuln/detail/CVE-2024-46982 advisory
- https://github.com/vercel/next.js/commit/7ed7f125e07ef0517a331009ed7e32691ba403d3 web
- https://github.com/vercel/next.js/commit/bd164d53af259c05f1ab434004bcfdd3837d7cda web
- https://github.com/vercel/next.js package