Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconIdentify public multer disk-storage upload endpoint
-
DeliverySend partial multipart/form-data request to trigger async disk write
-
ExploitAbort connection before multer cleanup completes
-
InstallOrphaned file persists post-cleanup
-
C2Repeat at high frequency
-
ExecuteDisk partition fills to capacity
-
ImpactApplication denial of service
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource consumption limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires multer version 2.2.0 or 2.3.0 with the DiskStorage engine configured (the default when a destination path is supplied). The vulnerable endpoint must be reachable by the attacker without authentication (PR:N per CVSS). The race condition is timing-sensitive - the attacker must abort the connection after a disk write has been initiated but before multer's cleanup routine processes it - however this window is reliably triggerable by aborting at a predictable point in the upload stream. Memory storage (MemoryStorage) configurations are NOT vulnerable. Rate limiting, request size caps, or connection throttling at a reverse proxy layer reduces but does not eliminate the attack surface. No session token, API key, or valid credentials are required. |
| Impact | The CVSS 5.3 Medium score (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L) accurately reflects the attack profile: fully remote, unauthenticated, low complexity, but with only limited availability impact because disk exhaustion is gradual rather than instantaneous. No KEV listing exists and no public exploit or POC has been identified at time of analysis, so EPSS-equivalent risk remains low in practice. The primary real-world concern is shared-disk deployments where the upload partition is also used by the OS or database - in such scenarios, A:L understates the blast radius. Even a mid-sized municipal IT team in leszno running a Node.js upload service on a shared volume should treat this as a low-to-medium priority patch, particularly if rate limiting is already in place on upload endpoints. The absence of confidentiality or integrity impact, combined with no confirmed active exploitation, makes this a routine patch-cycle item rather than an emergency response trigger. |
| Exploit ScenarioDerived | An attacker identifies a public Node.js/Express endpoint using multer disk storage and repeatedly initiates multipart/form-data POST requests, sending just enough data to trigger a disk write before sending a TCP RST or closing the connection to abort the upload. Because multer's abort cleanup completes before the asynchronous write finishes, each cycle deposits one orphaned file in the upload directory. By scripting hundreds of such requests per minute, the attacker can fill the target disk partition within minutes to hours depending on upload chunk size and disk capacity, rendering the application and potentially co-located services unavailable. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 14, 2026
Disk space exhaustion in multer 2.2.0-2.3.0 allows a remote unauthenticated attacker to repeatedly start and abort multipart/form-data uploads, leaving orphaned temporary files that accumulate until the host disk partition is exhausted. The race condition arises when asynchronous disk writes complete after multer's abort cleanup routine has already run, so those files escape deletion entirely. No authentication is required and no special server configuration beyond the default disk storage engine is needed; the issue is fixed in multer 2.4.0.
RemediationAI
Upgrade multer to version 2.4.0 or later; this is the vendor-released patch confirmed by the OpenJS Foundation advisory at https://github.com/expressjs/multer/security/advisories/GHSA-3pph-fpjx-jg34. If immediate upgrade is not feasible, consider switching affected endpoints to memory storage (MemoryStorage engine) as a temporary measure - this eliminates orphaned disk files but shifts resource consumption to RAM, so it is only suitable for small-file upload endpoints with bounded concurrency. A second compensating control is to add per-IP rate limiting on upload endpoints (e.g., via express-rate-limit) to throttle the rate at which an attacker can accumulate orphaned files. A third option is a scheduled cleanup job targeting the multer temp directory to remove files older than a configurable threshold, accepting that some legitimate in-progress uploads could be affected. None of these workarounds fully close the race condition; upgrading to 2.4.0 is the definitive fix.
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 a Node.js Express middleware built on top of busboy for parsing multipart/form-data request bodies, most commonly used to handle browser file uploads. It supports two storage engines: memory storage (files buffered in RAM) and disk storage (files written to a configurable directory). The vulnerability is rooted in CWE-400 (Uncontrolled Resource Consumption): when a client aborts an upload, multer triggers its cleanup path, but because disk I/O is asynchronous in Node.js, a file write that was already in flight can complete successfully after the cleanup handler has finished - leaving the file on disk with no subsequent deletion. The affected CPE is cpe:2.3:a:multer:multer:*:*:*:*:*:*:*:* restricted to versions 2.2.0 and 2.3.0. The race window is introduced or widened by a change between 2.1.x and 2.2.0; 2.4.0 closes it by tracking and cleaning up late-completing writes.
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:L
Network-reachable, unauthenticated, no complexity barrier beyond default disk storage; availability impact is limited as exhaustion is gradual and confidentiality/integrity are unaffected.
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Primary rating from Vendor (openjs).
CVSS VectorVendor: openjs
Lifecycle Timeline
2DescriptionCVE.org
multer is a Node.js middleware for handling multipart/form-data uploads. In versions 2.2.0 through 2.3.0, when a request using disk storage is aborted mid-upload, file writes that complete after multer has already run its abort cleanup are not removed, so each aborted upload can leave an orphaned file on disk. A remote unauthenticated attacker can repeatedly start and abort uploads to accumulate orphaned files and exhaust disk space, causing a denial of service. The issue is fixed in multer 2.4.0, and users should upgrade to 2.4.0 or later.
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
Remote denial-of-service in the Node.js multer middleware (all versions before 2.3.0) allows unauthenticated attackers t
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
Applications that configure the multer upload middleware (npm package, versions 2.0.0 through 2.4.x) with an asynchronou
Race condition in multer's file stream handling allows uploaded files exceeding the configured fileSize limit to bypass
Same weakness CWE-400 – Uncontrolled Resource Consumption
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 | Affected |
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| openSUSE Leap 16.0 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Module for Desktop Applications 15 SP4 | Affected |
| SUSE Linux Enterprise Module for Desktop Applications 15 SP5 | Affected |
| SUSE Linux Enterprise Module for Desktop Applications 15 SP6 | Affected |
| SUSE Linux Enterprise Server 15 SP4 | Affected |
| SUSE Linux Enterprise Server 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP5 | Affected |
| SUSE Linux Enterprise Server 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP6 | Affected |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Affected |
| SUSE Linux Enterprise Desktop 15 SP4 | Affected |
| SUSE Linux Enterprise Desktop 15 SP5 | Affected |
| SUSE Linux Enterprise Desktop 15 SP6 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS | Affected |
| SUSE Linux Enterprise Real Time 15 SP4 | Affected |
| SUSE Manager Proxy 4.3 | Affected |
| SUSE Manager Retail Branch Server 4.3 | Affected |
| SUSE Manager Server 4.3 | Affected |
| openSUSE Leap 15.4 | Affected |
| openSUSE Leap 15.5 | Affected |
| openSUSE Leap 15.6 | Affected |
EUVD-2026-77332
GHSA-3pph-fpjx-jg34
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB