Skip to main content
← All vulnerabilities
CVE-2024-46982GHSA-GP8F-8M3G-QVJ9

Cache Poisoning in next.js

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 13.5.7, 14.2.10
5 proofs of concept on GitHub
  • Exploitation: none
  • Automatable: yes
  • Technical impact: partial

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: yes · Technical impact: partial

  3. Record last updated
  4. EPSS reached 10%

    FIRST estimates at least a 10% chance of exploitation in the next 30 days

Affected versions

  • vercel next.js

    From 13.5.1 · fixed in 13.5.7; From 14.0.0 · fixed in 14.2.10

  • nextnpm

    From 13.5.1 · fixed in 13.5.7

  • nextnpm

    From 14.0.0 · fixed in 14.2.10

References 8

GitHub · vercel/next.js

GitHub · CodePontiff/next_js_poisoning

GitHub · Lercas/CVE-2024-46982

GitHub · hidesec/CVE-2025-32421

GitHub · melmathari/CVE-2024-46982-NUCLEI

GitHub · samuel871211/CVE-2024-46982-Reproduction