ZeroHour

CVE-2026-87908

large

Unauthenticated Memory-Exhaustion DoS in multiparty Node.js multipart parser

CVSS 3.1
7.5 high
EPSS
Published
()
Modified
AI analysis

multiparty, a Node.js library for parsing multipart/form-data request bodies, does not bound the memory used while accumulating the headers of a single multipart part in versions 2.1.0 through 4.3.0. An unauthenticated attacker can send a single request whose part carries an extremely large volume of header bytes, forcing the parser to buffer all of it until the Node.js process exhausts its memory and crashes. The impact is a denial of service only, with no confidentiality or integrity loss. Any Node.js application or service that parses multipart uploads with an affected multiparty version is affected, especially where such endpoints are reachable from the internet. No public proof-of-concept or confirmed in-the-wild exploitation is known, and the flaw is fixed in multiparty 4.3.1, which caps the size of accumulated part headers.

What to do: Upgrade multiparty to 4.3.1 or later, which caps the size of accumulated part headers. Until upgraded, cap request body sizes at a reverse proxy, load balancer, or framework layer and watch Node.js processes handling multipart endpoints for memory-exhaustion crashes. Audit dependency trees (e.g., npm ls multiparty or lockfile checks), since the package may be pulled in transitively.

Affected
multiparty (npm package) multiparty (Node.js multipart/form-data parser)>= 2.1.0 and < 4.3.1 (fixed in 4.3.1)
Estimated exposure
largeorder of 10,000-100,000+ Node.js applications (rough estimate; no exact install counts in the data) — multiparty is a long-established npm package for multipart upload parsing with substantial ongoing downloads, implying an installed base likely in the tens of thousands to low hundreds of thousands of Node.js applications, though only…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

multiparty is a Node.js library for parsing multipart/form-data request bodies. In versions from 2.1.0 up to but not including 4.3.1, the parser does not bound the amount of memory used while accumulating the headers of a single multipart part. An unauthenticated attacker can send a single request whose part carries a very large volume of header bytes, forcing the parser to buffer all of them and exhausting the process memory, which crashes the server. This is a denial of service with no confidentiality or integrity impact. The issue is fixed in multiparty 4.3.1, which caps the size of the accumulated part headers. Users should upgrade to multiparty 4.3.1 or later.

Weakness
CWE-400, CWE-770
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

In the news

No ingested article mentions this CVE yet.