CVE-2026-2359
High · 7.5CVSS
7.5
EPSS
0.7%
Published
Feb 27, 2026
CISA due date
—
Cloudanix analysis
Attackers can make affected file-upload features unavailable by repeatedly starting uploads and disconnecting before they finish.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Medium
What it actually does
Multer versions prior to 2.1.0 can mishandle interrupted multipart/form-data uploads. A remote unauthenticated attacker can begin a file upload and then drop the connection in a way that leaves server-side resources tied up, potentially exhausting memory, file descriptors, temporary storage, worker capacity, or event-loop availability. The impact is denial of service rather than data disclosure or code execution.
Why it matters to the business
Public web applications and APIs that accept file uploads through vulnerable Multer versions may become slow or unavailable during repeated aborted-upload attempts. This can disrupt customer-facing workflows such as document submission, media upload, support attachment handling, onboarding, or any service path dependent on multipart upload processing. Although the EPSS score is currently low and the issue is not listed in CISA KEV, the vulnerability is remotely triggerable without authentication and has high availability impact, so internet-facing upload endpoints should be prioritized for upgrade.
How an attack unfolds
An attacker identifies an application endpoint that accepts multipart/form-data uploads and is implemented with a vulnerable Multer release. The attacker opens one or more HTTP connections, starts sending a multipart file upload, and then intentionally terminates the connection before the upload completes. Due to the flaw, the application may fail to release all resources associated with the abandoned upload. By repeating this process concurrently or at scale, the attacker can accumulate unreleased resources until the Node.js process, reverse proxy, container, or host becomes overloaded, resulting in degraded performance, failed requests, process crashes, or service unavailability.
How to fix it
Upgrade Multer to version 2.1.0 or later wherever it is used. Update direct and transitive Node.js dependencies, regenerate the lockfile, rebuild and redeploy affected services, and ensure running containers or serverless bundles include the patched dependency. Because no workaround is identified in the advisory, dependency upgrade is the primary fix. As compensating controls while patching, enforce strict upload size limits, request/body timeouts, connection limits, reverse-proxy rate limits, per-IP throttling, maximum concurrent upload limits, and temporary-file cleanup; however, these controls should not be treated as a replacement for upgrading.
How to confirm the fix worked
Confirm that all deployed applications and build artifacts use Multer 2.1.0 or later by checking package.json, package-lock.json, npm-shrinkwrap.json, yarn.lock, pnpm-lock.yaml, SBOMs, and container image dependency scans. Run `npm ls multer` or the equivalent package-manager command in each application to identify both direct and transitive versions. Exercise upload endpoints in a staging environment with interrupted multipart uploads and verify that memory, file descriptors, temporary files, and active request counts return to baseline after the client disconnects. Confirm reverse proxies and application servers enforce upload timeouts and request limits.
Typical attack path
- Discover an exposed web route that accepts multipart/form-data file uploads.
- Confirm the upload handler uses a vulnerable Multer version prior to 2.1.0 through dependency metadata, error behavior, source disclosure, or fingerprinting.
- Initiate HTTP POST requests with multipart/form-data bodies and file fields.
- Abort the TCP/HTTP connection before the upload completes, for example by closing the socket mid-transfer.
- Repeat the aborted uploads concurrently to increase resource consumption.
- Cause application workers, temporary upload handling, or host resources to become exhausted, leading to denial of service.
How to detect it
Review web server, reverse proxy, application, process, and host telemetry for signs of repeated interrupted multipart uploads followed by resource pressure. Useful sources include NGINX/Apache/Envoy/ALB access logs, Node.js application logs, APM traces, container metrics, process restart logs, kernel or system logs, and temporary upload directories. Look for unusual volumes of POST requests to upload endpoints with `Content-Type: multipart/form-data`, unusually low response byte counts, incomplete request bodies, client-aborted responses, HTTP 408/499/5xx spikes, repeated connections from the same source ranges, increasing request duration, rising memory usage, file descriptor exhaustion, temporary-file growth, event-loop lag, pod/container restarts, or process crashes. Because there are no public exploit-specific payload markers provided, detection should focus on behavioral patterns: many abandoned multipart uploads correlated with resource exhaustion or service restarts.
- Content-Type: multipart/form-data
- multipart/form-data
- HTTP 499
- status=499
- client closed connection
- client prematurely closed connection
- request aborted
- aborted
- ECONNRESET
- socket hang up
- Error: socket hang up
- Error: aborted
- ERR_STREAM_PREMATURE_CLOSE
- EMFILE: too many open files
- ENFILE: file table overflow
- JavaScript heap out of memory
- FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
- MulterError
- /tmp
- /var/tmp
- node_modules/multer
- multer@2.0
- multer@1.
What your security team should do
- Inventory all Node.js services that expose file upload endpoints and identify any use of Multer prior to 2.1.0.
- Prioritize remediation for internet-facing, unauthenticated, or high-volume upload services.
- Upgrade Multer to 2.1.0 or later, rebuild deployments, and verify the patched version is present in production artifacts.
- Add or review compensating controls: upload size limits, request timeouts, rate limiting, concurrent upload caps, and temporary-file cleanup monitoring.
- Monitor for spikes in incomplete multipart uploads, client disconnects during upload, HTTP 499/408/413/5xx responses, Node.js memory growth, file descriptor exhaustion, and process restarts.
- Create regression tests that simulate client disconnects during multipart uploads and assert that resources are released.
- Track dependency scanner results and fail builds that include vulnerable Multer versions.
The record
Multer is a node.js middleware for handling `multipart/form-data`. A vulnerability in Multer prior to version 2.1.0 allows an attacker to trigger a Denial of Service (DoS) by dropping connection during file upload, potentially causing resource exhaustion. Users should upgrade to version 2.1.0 to receive a patch. No known workarounds are available.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| npm | multer | 0 | 2.1.0 |
Related vulnerabilities
- GHSA-v52c-386h-88mc Multer vulnerable to Denial of Service via resource exhaustion Same vulnerability
- GHSA-72gw-mp4g-v24j Multer vulnerable to Denial of Service via deeply nested field names Also affects multer
- GHSA-3p4h-7m6x-2hcm Multer vulnerable to Denial of Service via incomplete cleanup of aborted uploads Also affects multer
- CVE-2026-5038 Impact: multer versions 2.0.0-alpha.1 through 2.1.1 and 3.0.0-alpha.1 are vulnerable to a… Also affects multer
- CVE-2026-5079 Impact: multer versions 1.0.0 through 2.1.1 and 3.0.0-alpha.1 are vulnerable to a Denial… Also affects multer
- GHSA-5528-5vmv-3xc2 Multer Vulnerable to Denial of Service via Uncontrolled Recursion Also affects multer
- CVE-2026-3520 Multer is a node.js middleware for handling `multipart/form-data`. Also affects multer
- GHSA-xf7r-hgr6-v32p Multer vulnerable to Denial of Service via incomplete cleanup Also affects multer