CVE-2024-46982 in the critical feed json
Cache Poisoning in next.js
published 2024-09-17 2 y ago modified 2026-09-10 1 mo ago also EUVD-2024-2803 , GHSA-gp8f-8m3g-qvj9
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 59.2%
- EPSS 59.2% chance of exploitation in 30 days, percentile 99.1%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- npm next 13.5.7, 14.2.10
- vercel next.js 13.5.7, 14.2.10
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 2 y ago
Exploit prediction
59.18% chance of exploitation in the next 30 days, higher than 99.1% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| GitHub | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | next | >=13.5.1, <13.5.7 >=14.0.0, <14.2.10 |
13.5.7 14.2.10 |
Affected products
- vercel next.js
Classification
- Weakness
- Technology feeds
References
-
github.com
/vercel/next.js/commit/7ed7f125e07ef0517a331009ed7e32691ba403d3
web, patch
-
github.com
/vercel/next.js/commit/bd164d53af259c05f1ab434004bcfdd3837d7cda
web, patch
-
github.com
/vercel/next.js/security/advisories/GHSA-gp8f-8m3g-qvj9
web, vendor-advisory, advisory
-
nvd.nist.gov
/vuln/detail/CVE-2024-46982
advisory
-
github.com
/vercel/next.js
package
Sources
- CVE List CVE-2024-46982
- GitHub Advisory GHSA-gp8f-8m3g-qvj9
- NVD CVE-2024-46982
- Maintainer advisory GHSA-gp8f-8m3g-qvj9
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
The maintainers of vercel/next.js published their own advisory on GitHub. Reviewed sources take precedence over it.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.