CVE-2025-32421
Next.js Race Condition to Cache Poisoning
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
3.7
Next.js Race Condition to Cache Poisoning
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.
- Record
CVE-2025-32421- CVSS 3.1
- 3.7 Low
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N - Weakness
- CWE-362
- Updated
- 2026-11-02
EUVDEUVD-2025-14946
3.7
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.
- Record
EUVD-2025-14946- CVSS 3.1
- 3.7 Low
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-mwv6-3258-q52c
7.5
Next Vulnerable to Denial of Service with Server Components
A vulnerability affects certain React packages for versions 19.0.0, 19.0.1, 19.1.0, 19.1.1, 19.1.2, 19.2.0, and 19.2.1 and frameworks that use the affected packages, including Next.js 15.x and 16.x using the App Router. The issue is tracked upstream as CVE-2025-55184.
A malicious HTTP request can be crafted and sent to any App Router endpoint that, when deserialized, can cause the server process to hang and consume CPU. This can result in denial of service in unpatched environments.
- Record
GHSA-mwv6-3258-q52c- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-400, CWE-502, CWE-1395
- Updated
- 2026-11-02
GitHub AdvisoriesGHSA-qpjv-v59x-3qc4
3.7
Next.js Race Condition to Cache Poisoning
Summary
We received a responsible disclosure from Allam Rachid (zhero) for a low-severity race-condition vulnerability in Next.js. This issue only affects the Pages Router under certain misconfigurations, causing normal endpoints to serve pageProps data instead of standard HTML.
Credit
Thank you to Allam Rachid (zhero) for the responsible disclosure. This research was rewarded as part of our bug bounty program.
- Record
GHSA-qpjv-v59x-3qc4- CVSS 3.1
- 3.7 Low
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N - Weakness
- CWE-362
- Updated
- 2026-11-02
GitHub AdvisoriesGHSA-w37m-7fhw-fmv9
5.3
Next Server Actions Source Code Exposure
A vulnerability affects certain React packages for versions 19.0.0, 19.0.1, 19.1.0, 19.1.1, 19.1.2, 19.2.0, and 19.2.1 and frameworks that use the affected packages, including Next.js 15.x and 16.x using the App Router. The issue is tracked upstream as CVE-2025-55183.
A malicious HTTP request can be crafted and sent to any App Router endpoint that can return the compiled source code of Server Functions. This could reveal business logic, but would not expose secrets unless they were hardcoded directly into Server Function code.
- Record
GHSA-w37m-7fhw-fmv9- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N - Weakness
- CWE-497, CWE-502, CWE-1395
- Updated
- 2026-11-02
NVD
3.7
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.
- Record
CVE-2025-32421- CVSS 3.1
- 3.7 Low
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N - Weakness
- CWE-362
- Updated
- 2026-11-02
Show 9 moreShow less
OSV
3.7
Next.js Race Condition to Cache Poisoning
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.
- Record
CVE-2025-32421- CVSS 3.1
- 3.7 Low
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N - Weakness
- CWE-362
- Updated
- 2026-11-02
OSVGHSA-mwv6-3258-q52c
7.5
Next Vulnerable to Denial of Service with Server Components
A vulnerability affects certain React packages for versions 19.0.0, 19.0.1, 19.1.0, 19.1.1, 19.1.2, 19.2.0, and 19.2.1 and frameworks that use the affected packages, including Next.js 15.x and 16.x using the App Router. The issue is tracked upstream as CVE-2025-55184.
A malicious HTTP request can be crafted and sent to any App Router endpoint that, when deserialized, can cause the server process to hang and consume CPU. This can result in denial of service in unpatched environments.
- Record
GHSA-mwv6-3258-q52c- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-1395, CWE-400, CWE-502
- Updated
- 2026-11-02
OSVGHSA-qpjv-v59x-3qc4
3.7
Next.js Race Condition to Cache Poisoning
Summary
We received a responsible disclosure from Allam Rachid (zhero) for a low-severity race-condition vulnerability in Next.js. This issue only affects the Pages Router under certain misconfigurations, causing normal endpoints to serve pageProps data instead of standard HTML.
Credit
Thank you to Allam Rachid (zhero) for the responsible disclosure. This research was rewarded as part of our bug bounty program.
- Record
GHSA-qpjv-v59x-3qc4- CVSS 3.1
- 3.7 Low
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N - Weakness
- CWE-362
- Updated
- 2026-11-02
OSVGHSA-w37m-7fhw-fmv9
5.3
Next Server Actions Source Code Exposure
A vulnerability affects certain React packages for versions 19.0.0, 19.0.1, 19.1.0, 19.1.1, 19.1.2, 19.2.0, and 19.2.1 and frameworks that use the affected packages, including Next.js 15.x and 16.x using the App Router. The issue is tracked upstream as CVE-2025-55183.
A malicious HTTP request can be crafted and sent to any App Router endpoint that can return the compiled source code of Server Functions. This could reveal business logic, but would not expose secrets unless they were hardcoded directly into Server Function code.
- Record
GHSA-w37m-7fhw-fmv9- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N - Weakness
- CWE-1395, CWE-497, CWE-502
- Updated
- 2026-11-02
OSVCLSA-2026-1791901908 No score
TuxCare security update for 9 packages (10 CVEs)
TuxCare rebuilt 9 packages to address 10 CVEs. Fixed in 15.1.2-tuxcare.3.
- Record
CLSA-2026-1791901908- Updated
- 2026-11-02
OSVCLSA-2026-1792346492 No score
TuxCare security update for @next/swc-linux-x64-gnu (10 CVEs)
TuxCare rebuilt @next/swc-linux-x64-gnu to address 10 CVEs. Fixed in 15.1.2-tuxcare.3.
- Record
CLSA-2026-1792346492- Updated
- 2026-11-02
OSVCLSA-2026-1792367395 No score
TuxCare security update for @next/swc-linux-arm64-gnu (10 CVEs)
TuxCare rebuilt @next/swc-linux-arm64-gnu to address 10 CVEs. Fixed in 15.1.2-tuxcare.3.
- Record
CLSA-2026-1792367395- Updated
- 2026-11-02
OSVROOT-APP-NPM-CVE-2025-32421 No score
CVE-2025-32421 in next - Patched by Root
Root has patched CVE-2025-32421 in the next package for Root:npm. Multiple fixed versions available.
- Record
ROOT-APP-NPM-CVE-2025-32421- Updated
- 2026-11-02
OSVROOT-APP-NPM-GHSA-mwv6-3258-q52c No score
GHSA-mwv6-3258-q52c in next - Patched by Root
Root has patched GHSA-mwv6-3258-q52c in the next package for Root:npm. Multiple fixed versions available.
- Record
ROOT-APP-NPM-GHSA-mwv6-3258-q52c- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
nextnpm |
13.3.0 up to 14.2.34 | 14.2.34 |
nextnpm |
15.0.0-canary.0 up to 15.0.6 | 15.0.6 |
nextnpm |
15.1.1-canary.0 up to 15.1.10 | 15.1.10 |
nextnpm |
15.2.0-canary.0 up to 15.2.7 | 15.2.7 |
nextnpm |
15.3.0-canary.0 up to 15.3.7 | 15.3.7 |
nextnpm |
15.4.0-canary.0 up to 15.4.9 | 15.4.9 |
nextnpm |
15.5.1-canary.0 up to 15.5.8 | 15.5.8 |
nextnpm |
15.6.0-canary.0 up to 15.6.0-canary.59 | 15.6.0-canary.59 |
nextnpm |
16.0.0-beta.0 up to 16.0.9 | 16.0.9 |
nextnpm |
16.1.0-canary.0 up to 16.1.0-canary.17 | 16.1.0-canary.17 |
Show 8 moreShow less
| Package | Affected | Fixed |
|---|---|---|
nextnpm |
15.0.0 up to 15.1.6 | 15.1.6 |
nextnpm |
0.9.9 up to 14.2.24 | 14.2.24 |
@next/swc-linux-x64-gnuTuxCare:npm From an advisory covering 7 CVEs |
15.1.2-tuxcare.0 up to 15.1.2-tuxcare.3, plus listed versions 15.1.215.1.2-tuxcare.115.1.2-tuxcare.2 |
15.1.2-tuxcare.3 |
@next/swc-linux-arm64-gnuTuxCare:npm From an advisory covering 7 CVEs |
15.1.2-tuxcare.0 up to 15.1.2-tuxcare.3, plus listed versions 15.1.215.1.2-tuxcare.115.1.2-tuxcare.2 |
15.1.2-tuxcare.3 |
nextRoot:npm |
before 14.2.24-aikido.2 | 14.2.24-aikido.214.2.24-aikido.714.2.24-aikido.414.2.24-aikido.514.2.24-aikido.114.2.24-aikido.614.2.24-aikido.3 |
@rootio/nextRoot:npm |
before 14.2.24-root.io.2 | 14.2.24-root.io.214.2.24-root.io.714.2.24-root.io.414.2.24-root.io.514.2.24-root.io.114.2.24-root.io.614.2.24-root.io.3 |
nextRoot:npm |
before 14.2.33-aikido.2 | 14.2.33-aikido.214.2.32-aikido.414.2.30-aikido.714.2.26-aikido.614.2.26-aikido.414.2.30-aikido.1013.4.19-aikido.613.4.19-aikido.714.2.10-aikido.314.2.13-aikido.314.2.3-aikido.114.2.15-aikido.414.0.4-aikido.914.1.3-aikido.214.2.25-aikido.214.1.0-aikido.414.2.18-aikido.213.3.0-aikido.514.2.15-aikido.313.4.19-aikido.314.1.0-aikido.714.1.0-aikido.814.2.13-aikido.114.2.3-aikido.514.2.0-aikido.214.0.3-aikido.314.2.5-aikido.914.2.5-aikido.1014.2.2-aikido.714.2.33-aikido.114.1.3-aikido.514.2.29-aikido.114.2.29-aikido.514.2.31-aikido.214.2.18-aikido.114.0.0-aikido.714.2.10-aikido.414.2.13-aikido.414.2.10-aikido.214.2.18-aikido.614.2.21-aikido.614.2.16-aikido.614.2.25-aikido.114.2.0-aikido.614.2.31-aikido.514.2.0-aikido.514.2.2-aikido.914.2.30-aikido.814.2.24-aikido.714.0.3-aikido.614.2.32-aikido.514.2.33-aikido.314.0.0-aikido.514.2.3-aikido.313.5.4-aikido.514.1.3-aikido.613.3.0-aikido.614.0.3-aikido.414.2.13-aikido.214.2.21-aikido.414.0.0-aikido.314.1.4-aikido.714.2.21-aikido.213.3.0-aikido.214.2.16-aikido.214.2.16-aikido.413.5.4-aikido.213.3.0-aikido.714.2.33-aikido.414.2.26-aikido.314.0.3-aikido.514.2.30-aikido.914.1.4-aikido.814.2.32-aikido.613.5.4-aikido.614.1.3-aikido.714.2.16-aikido.514.0.0-aikido.614.2.21-aikido.514.2.3-aikido.414.2.2-aikido.813.4.19-aikido.414.2.15-aikido.514.2.3-aikido.213.5.6-aikido.414.2.28-aikido.514.2.32-aikido.214.1.4-aikido.914.1.3-aikido.113.3.0-aikido.314.2.32-aikido.713.5.6-aikido.514.2.15-aikido.614.1.3-aikido.814.2.32-aikido.814.2.29-aikido.414.2.28-aikido.114.2.33-aikido.513.5.6-aikido.614.2.26-aikido.514.2.28-aikido.214.2.26-aikido.214.0.4-aikido.814.2.28-aikido.314.1.0-aikido.214.2.31-aikido.314.2.24-aikido.614.1.4-aikido.614.2.18-aikido.313.3.0-aikido.414.1.0-aikido.514.2.16-aikido.314.0.0-aikido.414.1.0-aikido.314.2.18-aikido.413.5.4-aikido.314.2.31-aikido.114.2.0-aikido.313.4.19-aikido.514.2.31-aikido.414.2.29-aikido.214.2.0-aikido.113.5.4-aikido.414.2.21-aikido.114.2.16-aikido.114.1.3-aikido.313.3.0-aikido.814.2.21-aikido.314.2.32-aikido.314.2.29-aikido.313.5.11-aikido.914.1.3-aikido.414.2.0-aikido.414.2.30-aikido.614.2.28-aikido.414.2.33-aikido.614.1.0-aikido.614.2.18-aikido.513.5.6-aikido.7 |
@rootio/nextRoot:npm |
before 14.2.33-root.io.2 | 14.2.33-root.io.214.2.32-root.io.414.2.30-root.io.714.2.26-root.io.614.2.26-root.io.414.2.30-root.io.1013.4.19-root.io.613.4.19-root.io.714.2.10-root.io.314.2.13-root.io.314.2.3-root.io.114.2.15-root.io.414.0.4-root.io.914.1.3-root.io.214.2.25-root.io.214.1.0-root.io.414.2.18-root.io.213.3.0-root.io.514.2.15-root.io.313.4.19-root.io.314.1.0-root.io.714.1.0-root.io.814.2.13-root.io.114.2.3-root.io.514.2.0-root.io.214.0.3-root.io.314.2.5-root.io.914.2.5-root.io.1014.2.2-root.io.714.2.33-root.io.114.1.3-root.io.514.2.29-root.io.114.2.29-root.io.514.2.31-root.io.214.2.18-root.io.114.0.0-root.io.714.2.10-root.io.414.2.13-root.io.414.2.10-root.io.214.2.18-root.io.614.2.21-root.io.614.2.16-root.io.614.2.25-root.io.114.2.0-root.io.614.2.31-root.io.514.2.0-root.io.514.2.2-root.io.914.2.30-root.io.814.2.24-root.io.714.0.3-root.io.614.2.32-root.io.514.2.33-root.io.314.0.0-root.io.514.2.3-root.io.313.5.4-root.io.514.1.3-root.io.613.3.0-root.io.614.0.3-root.io.414.2.13-root.io.214.2.21-root.io.414.0.0-root.io.314.1.4-root.io.714.2.21-root.io.213.3.0-root.io.214.2.16-root.io.214.2.16-root.io.413.5.4-root.io.213.3.0-root.io.714.2.33-root.io.414.2.26-root.io.314.0.3-root.io.514.2.30-root.io.914.1.4-root.io.814.2.32-root.io.613.5.4-root.io.614.1.3-root.io.714.2.16-root.io.514.0.0-root.io.614.2.21-root.io.514.2.3-root.io.414.2.2-root.io.813.4.19-root.io.414.2.15-root.io.514.2.3-root.io.213.5.6-root.io.414.2.28-root.io.514.2.32-root.io.214.1.4-root.io.914.1.3-root.io.113.3.0-root.io.314.2.32-root.io.713.5.6-root.io.514.2.15-root.io.614.1.3-root.io.814.2.32-root.io.814.2.29-root.io.414.2.28-root.io.114.2.33-root.io.513.5.6-root.io.614.2.26-root.io.514.2.28-root.io.214.2.26-root.io.214.0.4-root.io.814.2.28-root.io.314.2.24-root.io.614.1.0-root.io.214.2.31-root.io.314.1.4-root.io.614.2.18-root.io.313.3.0-root.io.414.1.0-root.io.514.2.16-root.io.314.0.0-root.io.414.1.0-root.io.314.2.18-root.io.413.5.4-root.io.314.2.31-root.io.114.2.0-root.io.313.4.19-root.io.514.2.31-root.io.414.2.29-root.io.214.2.0-root.io.113.5.4-root.io.414.2.21-root.io.114.1.3-root.io.314.2.16-root.io.113.3.0-root.io.814.2.21-root.io.314.2.32-root.io.314.2.29-root.io.313.5.11-root.io.914.1.3-root.io.414.2.0-root.io.414.2.30-root.io.614.2.33-root.io.614.2.28-root.io.414.1.0-root.io.613.5.6-root.io.714.2.18-root.io.5 |
Public exploits
Links only. Every CVE stores no exploit code.
| Source | Link | Date |
|---|---|---|
| PoC in GitHub | hidesec/CVE-2025-32421 | 2025-10-11 |
| PoC in GitHub | Delfaster/CVE-2025-32421---Race-Condition-Vulnerability---Next.js | 2025-11-26 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, exploits, facts | ||
| affected | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV, PoC in GitHub |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2025-32421 is a low vulnerability (CVSS 3.7) in Vercel Next.js, published May 14, 2025. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 0.80%, the 56th percentile. Fixed in next 14.2.34.
References
github.com/vercel/next.js/security/advisories/GHSA-qpjv-v59x-3qc4
vercel.com/changelog/cve-2025-32421
github.com/vercel/next.js/security/advisories/GHSA-mwv6-3258-q52c
nextjs.org/blog/security-update-2025-12-11
cve.org/CVERecord?id=CVE-2025-55184
github.com/advisories/GHSA-mwv6-3258-q52c
Show 7 moreShow less
nvd.nist.gov/vuln/detail/CVE-2025-32421
github.com/advisories/GHSA-qpjv-v59x-3qc4
github.com/vercel/next.js/security/advisories/GHSA-w37m-7fhw-fmv9
cve.org/CVERecord?id=CVE-2025-55183
github.com/advisories/GHSA-w37m-7fhw-fmv9
github.com/CVEProject/cvelistV5/tree/main/cves/2025/32xxx/CVE-2025-32421.json
github.com/vercel/next.js