ZeroHour

CVE-2026-77078

mass1

Unauthenticated DoS in multer multipart parsing middleware (npm)

CVSS 3.1
7.5 high
EPSS
<1%p21
Published
()
Modified
AI analysis

Multer, a widely used Node.js middleware for parsing multipart/form-data requests, contains a denial-of-service flaw in its field-name parsing. A remote, unauthenticated attacker can crash the hosting Node.js process with a single multipart request containing two specially crafted text field names, which trigger an uncaught 'RangeError: Invalid array length' that is not routed to the application's error handler. The attacker gains full availability disruption of the affected service, requiring a process restart. All applications that use multer to parse multipart requests are affected. There is no known public proof-of-concept, exploitation is not listed in CISA KEV, and EPSS puts 30-day exploitation probability at a low 0.3%.

What to do: Upgrade multer to 2.3.0 in all Node.js projects, checking package.json/lockfiles and transitively dependent packages since many apps pull it in via frameworks. There is no workaround, so until patched consider process managers or restart-on-crash supervision to limit downtime, and restrict or rate-limit unauthenticated multipart upload endpoints if feasible.

Affected
multer (open-source project, npm ecosystem) multerall versions prior to 2.3.0
Estimated exposure
massplausibly >1M installations (multer receives millions of weekly npm downloads) — Multer is one of the most-downloaded npm packages with millions of weekly downloads, implying at least hundreds of thousands of Node.js applications, many of which expose multipart endpoints to the internet.

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

Description

multer is a middleware for handling multipart/form-data in Node.js. A small multipart request containing two specially crafted text field names can cause an uncaught RangeError (Invalid array length) that terminates the Node.js process. The first field uses a very large numeric array index to allocate a maximum-length sparse array, and a second field then pushes past that length, which throws inside the append-field dependency and is not caught by multer. All versions before 2.3.0 are affected, and the issue is a remotely triggerable denial of service. The issue is fixed in multer 2.3.0. Upgrade to multer 2.3.0 to remediate.

Vendors
expressjs
Products
multer
Ecosystems
npm
Weakness
CWE-248
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
GHSA
GHSA-wc9g-mqfw-jrwm (high)

In the news

No ingested article mentions this CVE yet.