Skip to content
Fencer Vulns
high 7.5

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
  • CWE-639 Authorization Bypass Through User-Controlled Key
  • CWE-349 Acceptance of Extraneous Untrusted Data With Trusted Data
Technology feeds

References

Sources

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.