CVE-2025-32421: Next.js Race Condition to Cache Poisoning

3.7 CVSS

Description

Next.js is a React framework for building full-stack web applications. Versions prior to 14.2.24 and 15.1.6 have a race-condition vulnerability. This issue only affects the Pages Router under certain misconfigurations, causing normal endpoints to serve `pageProps` data instead of standard HTML. This issue was patched in versions 15.1.6 and 14.2.24 by stripping the `x-now-route-matches` header from incoming requests. Applications hosted on Vercel's platform are not affected by this issue, as the platform does not cache responses based solely on `200 OK` status without explicit `cache-control` headers. Those who self-host Next.js deployments and are unable to upgrade immediately can mitigate this vulnerability by stripping the `x-now-route-matches` header from all incoming requests at the content development network and setting `cache-control: no-store` for all responses under risk. The maintainers of Next.js strongly recommend only caching responses with explicit cache-control headers.

Classification

CVE ID: CVE-2025-32421

CVSS Base Severity: LOW

CVSS Base Score: 3.7

CVSS Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N

Problem Types

CWE-362: Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')

Affected Products

Vendor: vercel

Product: next.js

References

https://nvd.nist.gov/vuln/detail/CVE-2025-32421
https://github.com/vercel/next.js/security/advisories/GHSA-qpjv-v59x-3qc4
https://vercel.com/changelog/cve-2025-32421

Timeline