Skip to main content
← All vulnerabilities
CVE-2025-32421GHSA-QPJV-V59X-3QC4

Next.js Race Condition to Cache Poisoning

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 14.2.24, 15.1.6
2 proofs of concept on GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

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

  3. Record last updated

Affected versions

  • vercel next.js

    fixed in 14.2.24; From 15.0.0 · fixed in 15.1.6

  • nextnpm

    From 0.9.9 · fixed in 14.2.24

  • nextnpm

    From 15.0.0 · fixed in 15.1.6

References 4

GitHub · vercel/next.js

vercel.com

GitHub · Delfaster/CVE-2025-32421---Race-Condition-Vulnerability---Next.js

GitHub · hidesec/CVE-2025-32421