Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSend crafted multipart POST to upload endpoint
-
DeliveryFirst field name allocates maximum-length sparse array
-
ExploitSecond field push exceeds array length
-
Executionappend-field throws RangeError
-
PersistUncaught exception propagates to Node.js runtime
-
ImpactProcess terminates, application offline
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Exception handling completeness
|
| Exploitation Conditions | No special configuration or non-default setup is required: any application that uses multer versions before 2.3.0 to process multipart/form-data on a network-accessible endpoint is exploitable by unauthenticated attackers (CVSS PR:N, AV:N, AC:L). The payload is small and unremarkable in size, making it unlikely to trip size-based filters. Exploitation outcome is strictly denial-of-service - there is no confidentiality or integrity impact. The primary limiting factors are: (1) the target application must expose at least one HTTP endpoint that invokes multer to parse incoming multipart requests; applications that gate all such endpoints behind authentication (login-required upload forms) can only be attacked by authenticated users, reducing the threat surface. (2) After process termination, a process manager such as PM2 or systemd may automatically restart the process, potentially allowing an attacker to repeatedly trigger crashes in a sustained DoS loop. |
| Impact | The CVSS 7.5 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H) accurately reflects the vulnerability's characteristics: network-accessible, no authentication, no user interaction, and low attack complexity producing high availability impact with no confidentiality or integrity compromise. The scoped impact designation (S:U) is arguably understated - crashing the Node.js process terminates all services co-located in that process, not merely multer's own functionality. EPSS data is absent from the available intelligence, so exploitation probability cannot be quantified numerically. No CISA KEV listing has been identified, and no public exploit code exists at time of analysis, meaning this is not confirmed actively exploited. However, the low barrier to exploitation - a small two-field HTTP body, no credentials, no special timing - means the attack is trivially automatable against any exposed multipart endpoint; the absence of observed exploitation should not be confused with the absence of risk. The risk is operational continuity rather than data exfiltration, but for availability-sensitive services, the effort to upgrade to 2.3.0 is far lower than the cost of a process-killing attack. |
| Exploit ScenarioDerived | An unauthenticated attacker identifies an internet-facing Node.js application that uses multer to process file uploads or form submissions. The attacker sends a single HTTP POST with a multipart/form-data body containing two crafted text fields - one with an extremely large numeric array-index name and a second designed to overflow the resulting sparse array - which requires no special tooling beyond a standard HTTP client. The Node.js process throws an uncaught RangeError and terminates immediately, rendering the entire application unavailable until an operator manually restarts the process. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 28, 2026
Remote denial-of-service in the Node.js multer middleware (all versions before 2.3.0) allows unauthenticated attackers to crash the entire Node.js process by submitting a small, specially crafted multipart/form-data request. The attack exploits an uncaught RangeError in multer's append-field dependency: a first field with an extremely large numeric index allocates a maximum-length sparse array, and a second field pushes past that limit, throwing an exception that multer does not catch. No public exploit code has been identified at time of analysis, but the zero-authentication, low-complexity nature of the attack makes this a realistic availability threat for any internet-facing Node.js application using multer.
RemediationAI
Upgrade multer to version 2.3.0 or later; this is the only complete fix. The patch is documented in GitHub Security Advisory GHSA-wc9g-mqfw-jrwm (https://github.com/expressjs/multer/security/advisories/GHSA-wc9g-mqfw-jrwm) and the OpenJS CNA page (https://cna.openjsf.org/security-advisories.html). If an immediate upgrade is blocked, consider placing a WAF or reverse proxy ahead of multipart upload endpoints configured to reject requests whose field names match patterns of large numeric array indices - note this requires custom rule authoring and may produce false positives on legitimate indexed field names. Alternatively, temporarily restrict multipart upload endpoints behind authentication or IP allowlisting, accepting that unauthenticated upload functionality will be unavailable. No workaround eliminates the root cause without applying the 2.3.0 patch.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in npm
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
multer is the de facto standard Express.js middleware for processing multipart/form-data HTTP requests, most commonly used for file upload handling in Node.js web applications. The vulnerability is classified as CWE-248 (Uncaught Exception): multer's append-field dependency parses multipart field names and constructs JavaScript arrays to store them. A field name crafted with an extremely large numeric array index causes JavaScript to allocate a sparse array at maximum allowable length; a subsequent field that attempts to push beyond that boundary throws a RangeError ('Invalid array length'). Because this exception is not caught within multer's error handling pipeline, it propagates as an unhandled exception to the Node.js runtime and terminates the entire process. The affected CPE is cpe:2.3:a:multer:multer:*:*:*:*:*:*:*:*, covering all multer versions prior to 2.3.0.
Know when Multer gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Network-reachable with no authentication or user interaction; impact is pure process-kill availability with no confidentiality or integrity effect.
Primary rating from Vendor (openjs).
CVSS VectorVendor: openjs
Lifecycle Timeline
2DescriptionCVE.org
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.
Blast Radius
ecosystem impact- 26 npm packages depend on multer (15 direct, 11 indirect)
Ecosystem-wide dependent count for version 2.3.0.
Articles & Coverage 1
Technical POC Analysis
Bug class: CWE-248 (Uncaught Exception), per the advisory.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
A remote denial-of-service vulnerability in Node.js multer (versions before 2.3.0) allows attackers to crash production application servers with a single HTTP request containing a specially formatted multipart payload, with no authentication required. Organizations using multer in internet-facing Node.js services face immediate service availability risk and potential revenue impact during outages.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Denial of service in Multer (Express.js multipart/form-data middleware) before version 2.1.1 allows remote unauthenticat
Denial of service in Multer (the Express/Node.js multipart/form-data middleware) before version 2.1.0 lets remote attack
Denial of service in Multer (Express.js multipart/form-data middleware) before version 2.1.0 lets remote unauthenticated
File descriptor exhaustion in multer 2.2.0's DiskStorage engine allows remote unauthenticated attackers to cause denial
Event loop exhaustion in multer (all versions before 2.3.0) allows unauthenticated remote attackers to render a Node.js
Denial of service in the Express.js multer middleware (versions 1.0.0 through 2.1.1 and 3.0.0-alpha.1) allows unauthenti
Denial of service in Multer versions 2.0.0-alpha.1 through 2.1.1 and 3.0.0-alpha.1 allows remote unauthenticated attacke
Disk space exhaustion in multer 2.2.0-2.3.0 allows a remote unauthenticated attacker to repeatedly start and abort multi
Race condition in multer's file stream handling allows uploaded files exceeding the configured fileSize limit to bypass
Same weakness CWE-248 – Uncaught Exception
View allSame technique Denial Of Service
View allVendor StatusVendor
SUSE
Severity: Important| Product | Status |
|---|---|
| SUSE Linux Enterprise Desktop 15 SP7 | Affected |
| SUSE Linux Enterprise Module for Desktop Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Server 15 SP7 | Affected |
| SUSE Linux Enterprise Server 16.0 | Not-Affected |
| SUSE Linux Enterprise Server 16.1 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Not-Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Not-Affected |
| openSUSE Leap 16.0 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS | Not-Affected |
| SUSE Linux Enterprise Module for Desktop Applications 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Module for Desktop Applications 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Module for Desktop Applications 15 SP6 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP4-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP5-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP6 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Affected |
| SUSE Linux Enterprise Desktop 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Desktop 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Desktop 15 SP6 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS | Not-Affected |
| SUSE Linux Enterprise Real Time 15 SP4 | Not-Affected |
| SUSE Manager Proxy 4.3 | Not-Affected |
| SUSE Manager Retail Branch Server 4.3 | Not-Affected |
| SUSE Manager Server 4.3 | Not-Affected |
| openSUSE Leap 15.4 | Not-Affected |
| openSUSE Leap 15.5 | Not-Affected |
| openSUSE Leap 15.6 | Affected |
| SUSE Linux Enterprise Server for NVIDIA 16.1 | Not-Affected |
EUVD-2026-67930
GHSA-wc9g-mqfw-jrwm
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB