CVE-2025-59472 json
Next.js has Unbounded Memory Consumption via PPR Resume Endpoint
published 2026-01-26 9 mo ago modified 2026-09-10 59 d ago also EUVD-2025-206333 , GHSA-5f7q-jpqc-wp7h
- cvss
- 5.9
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 37%
- public exploits
- 0
- none known
Summary
A denial of service vulnerability exists in Next.js versions with Partial Prerendering (PPR) enabled when running in minimal mode. The PPR resume endpoint accepts unauthenticated POST requests with the `Next-Resume: 1` header and processes attacker-controlled postponed state data. Two closely related vulnerabilities allow an attacker to crash the server process through memory exhaustion:
1. **Unbounded request body buffering**: The server buffers the entire POST request body into memory using `Buffer.concat()` without enforcing any size limit, allowing arbitrarily large payloads to exhaust available memory.
2. **Unbounded decompression (zipbomb)**: The resume data cache is decompressed using `inflateSync()` without limiting the decompressed output size. A small compressed payload can expand to hundreds of megabytes or gigabytes, causing memory exhaustion.
Both attack vectors result in a fatal V8 out-of-memory error (`FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory`) causing the Node.js process to terminate. The zipbomb variant is particularly dangerous as it can bypass reverse proxy request size limits while still causing large memory allocation on the server.
To be affected you must have an application running with `experimental.ppr: true` or `cacheComponents: true` configured along with the NEXT_PRIVATE_MINIMAL_MODE=1 environment variable.
Strongly consider upgrading to 15.6.0-canary.61 or 16.1.5 to reduce risk and prevent availability issues in Next applications.
Patch / fix
- npm next 15.6.0-canary.61, 16.1.5
- vercel next 15.0.0, 15.0.1, 15.0.2, 15.0.3, 15.0.4, 15.1.0, 15.1.1, 15.1.2, 15.1.3, 15.1.4, 15.1.5, 15.1.6, 15.1.7, 15.2.0, 15.2.1, 15.2.2, 15.2.3, 15.2.4, 15.2.5, 15.3.0
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2025-59472 updated cvss 5.9
next: NextJS Denial of Service in Partial Pre Rendering
-
Red Hat Enterprise Linux 7 firefox Red Hat Enterprise Linux 8 firefox, thunderbird Red Hat Enterprise Linux 9 firefox, dotnet7.0, dotnet-host, firefox-x11, thunderbird, dotnet-sdk-7.0, +9 more Red Hat Enterprise Linux 10 firefox, thunderbird Red Hat Enterprise Linux AI (RHEL AI) 3 rhelai3/bootc-cuda-rhel9, rhelai3/disk-image-cuda-rhel9 Red Hat Trusted Artifact Signer rhtas/rekor-search-ui-rhel9affected: workaround, no fix available “Fix deferred”
+2 more productsfewer
Red Hat streams for Apache Kafka 2 com.github.streamshub-console Red Hat streams for Apache Kafka 3 com.github.streamshub-console
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 9 mo ago
Exploit prediction
0.43% chance of exploitation in the next 30 days, higher than 37% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 5.9 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H |
| GitHub | 3.1 | 5.9 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H |
| NVD | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | next | >=16.0.0-beta.0, <16.1.5 >=15.0.0-canary.0, <=15.0.0-canary.205 >=15.0.1-canary.0, <=15.0.1-canary.3 >=15.0.2-canary.0, <=15.0.2-canary.11 >=15.0.3-canary.0, <=15.0.3-canary.9 >=15.0.4-canary.0, <=15.0.4-canary.52 >=15.1.1-canary.0, <=15.1.1-canary.27 >=15.2.0-canary.0, <=15.2.0-canary.77 >=15.2.1-canary.0, <=15.2.1-canary.6 >=15.2.2-canary.0, <=15.2.2-canary.7 >=15.3.0-canary.0, <=15.3.0-canary.46 >=15.3.1-canary.0, <=15.3.1-canary.15 >=15.4.0-canary.0, <=15.4.0-canary.130 >=15.4.2-canary.0, <=15.4.2-canary.56 >=15.5.1-canary.0, <=15.5.1-canary.39 >=15.6.0-canary.0, <15.6.0-canary.61 |
16.1.5 15.6.0-canary.61 |
Affected products
- vercel next
Classification
References
-
github.com
/vercel/next.js/security/advisories/GHSA-5f7q-jpqc-wp7h
web, vendor-advisory, advisory
-
nvd.nist.gov
/vuln/detail/CVE-2025-59472
advisory
-
github.com
/vercel/next.js
package
-
vercel.com
/changelog/summaries-of-cve-2025-59471-and-cve-2025-59472
web
Sources
- CVE List CVE-2025-59472
- GitHub Advisory GHSA-5f7q-jpqc-wp7h
- NVD CVE-2025-59472
- Maintainer advisory GHSA-5f7q-jpqc-wp7h
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
The maintainers of vercel/next.js published their own advisory on GitHub. Reviewed sources take precedence over it.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.