← Back

CVE-2025-59472

nvd nist
Published: Jan 26, 2026Modified: Jun 17, 2026

JSON object

Loading...
7.5
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Exploitability: 3.9 / Impact: 3.6
Source: NVD

Description

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.

Affected (64)

Products: Vercel: Next.js
1 product
Next.js
Configuration A
64 vulnerable
Vulnerable SoftwareAffected Versions
Vercel
From 15.0.0 to 15.6.0
From 16.0.0 to 16.1.5
Version 15.6.0
Version 15.6.0 canary0
Version 15.6.0 canary10
Version 15.6.0 canary11
Version 15.6.0 canary12
Version 15.6.0 canary13
Version 15.6.0 canary14
Version 15.6.0 canary15
Version 15.6.0 canary16
Version 15.6.0 canary17
Version 15.6.0 canary18
Version 15.6.0 canary19
Version 15.6.0 canary1
Version 15.6.0 canary20
Version 15.6.0 canary21
Version 15.6.0 canary22
Version 15.6.0 canary23
Version 15.6.0 canary24
Version 15.6.0 canary25
Version 15.6.0 canary26
Version 15.6.0 canary27
Version 15.6.0 canary28
Version 15.6.0 canary29
Version 15.6.0 canary2
Version 15.6.0 canary30
Version 15.6.0 canary31
Version 15.6.0 canary32
Version 15.6.0 canary33
Version 15.6.0 canary34
Version 15.6.0 canary35
Version 15.6.0 canary36
Version 15.6.0 canary37
Version 15.6.0 canary38
Version 15.6.0 canary39
Version 15.6.0 canary3
Version 15.6.0 canary40
Version 15.6.0 canary41
Version 15.6.0 canary42
Version 15.6.0 canary43
Version 15.6.0 canary44
Version 15.6.0 canary45
Version 15.6.0 canary46
Version 15.6.0 canary47
Version 15.6.0 canary48
Version 15.6.0 canary49
Version 15.6.0 canary4
Version 15.6.0 canary50
Version 15.6.0 canary51
Version 15.6.0 canary52
Version 15.6.0 canary53
Version 15.6.0 canary54
Version 15.6.0 canary55
Version 15.6.0 canary56
Version 15.6.0 canary57
Version 15.6.0 canary58
Version 15.6.0 canary59
Version 15.6.0 canary5
Version 15.6.0 canary60
Version 15.6.0 canary6
Version 15.6.0 canary7
Version 15.6.0 canary8
Version 15.6.0 canary9

References (1)

Timeline

No history available yet.