Next.js - Cache Poisoning (CVE-2024-46982)
Description
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.
psychologyCrowdSec Analysis
CVE-2024-46982 is a vulnerability in Next.js that allows cache poisoning of certain server-side rendered routes. By sending a specially crafted HTTP request, attackers can coerce affected configurations to improperly cache responses, potentially serving cached data to unintended users or through upstream CDNs.
CrowdSec has been tracking this vulnerability and its exploits since 5th of March 2025.
CrowdSec has not observed any significant exploitation activity targeting CVE-2024-46982 across its network. As a result, no community-driven trend analysis is available for this vulnerability at this time.
Exploitation attempts, when detected, will typically target URLs containing the ?__nextdatareq=1 pattern.
Full Intelligence Available
Connect your API key to access CrowdSec scores, exploit timelines, and attacker IPs.
| Event | Date |
|---|---|
| CVE Published | 2024-09-17 |
| Rule Released | 2025-03-05 |
| CrowdSec First Seen | 2025-03-14 |