CVE-2026-82333
massDenial of Service in multer (Node.js) via oversized array index in multipart field names
multer 1.x and 2.x, an npm middleware for parsing multipart form data in Node.js applications, is vulnerable to a denial-of-service flaw (CWE-400) in how its append-field dependency handles bracket notation in field names. A single unauthenticated HTTP request with a crafted multipart body, using a field name with a very large numeric index such as items[4294967294], forces allocation of a maximum-length sparse array, and a following field with a non-numeric key on the same base converts that array to an object by iterating its full length. This consumes CPU synchronously and leaves the process unable to handle other requests, giving an attacker complete availability disruption of the affected service with one request. Any Node.js application using multer 1.x or 2.x to accept multipart uploads is affected. No public proof-of-concept or in-the-wild exploitation is known, and the EPSS model estimates only about a 0.3% probability of exploitation in the next 30 days.
What to do: Upgrade to multer 2.3.0 and configure the new limits.fieldArrayIndexLimit to the smallest maximum array index your application requires; no workaround is available. Use npm audit or equivalent dependency scanning to find multer 1.x/2.x in application trees, and prioritize internet-facing Node.js services that accept multipart uploads, since a single crafted request can stall the entire process.
| multer project (npm) multer | 1.x and 2.x prior to the fix; fixed in 2.3.0 |
| multer project (npm) append-field (multer dependency) | versions pulled in by multer 1.x/2.x; implicated as the parsing component, no separate version range provided |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
multer is a middleware for handling multipart/form-data in Node.js. A small multipart request with two specially crafted text field names can make multer's field parser synchronously iterate a maximum-length sparse array, blocking the event loop so the process cannot handle other requests. A large numeric array index in the first field allocates a maximum-length sparse array, and a second field with a non-numeric key then triggers a full-length iteration inside the append-field dependency. All versions before 2.3.0 are affected, and this is a remotely triggerable denial of service. multer 2.3.0 adds an opt-in fieldArrayIndexLimit option that rejects oversized array indexes. Upgrade to multer 2.3.0 and set limits.fieldArrayIndexLimit to the largest array index your application needs to remediate.
- Vendors
- expressjs
- Products
- multer
- Ecosystems
- npm
- Weakness
- CWE-400
- Vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- GHSA
- GHSA-535w-7cp7-47q4 (high)
In the news0 stories
No ingested article mentions this CVE yet.