CVE-2024-46982CWE-639

Cache Poisoning in next.js

High · published September 17, 2024

Patch now

High probability of exploitation

CVSS calls it high at 7.5. It sits in the 99.1th percentile for exploit probability.

CVSS v3.1
7.5
EPSS
59%
Percentile
99.1
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
7.5 · HIGH
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.59180 · 99.1th percentile
Weakness
CWE-639 · Authorization Bypass Through User-Controlled Key
Published
2024-09-17T21:55Z
EPSS history
Timeline
  • 17 SEP 21:55Z
    Cache Poisoning in next.js
    cvelistv5