multer vulnerable to Denial of Service via file descriptor leak on aborted uploads
Impact
A vulnerability in multer 2.2.0 allows an attacker to trigger a Denial of Service (DoS) by aborting or truncating multipart uploads. When using diskStorage, the destination write stream is not closed if the upload is aborted before it finishes, so each failed request leaks an open file descriptor and retains its disk blocks until the process exits. Repeated failed uploads can exhaust the available file descriptors. All applications using multer's disk storage are affected.
Patches
Users should upgrade to 2.3.0.
Workarounds
None.
Affected software
Click a technology to see all vulnerabilities affecting it.
| Platform | Package | Vulnerable versions | Fixed in |
|---|---|---|---|
| npm package | multer | >= 2.2.0, < 2.3.0 | 2.3.0 |
References
- https://github.com/expressjs/multer/security/advisories/GHSA-qfvm-cv95-jqjf
- https://nvd.nist.gov/vuln/detail/CVE-2026-77037
- https://github.com/expressjs/multer/commit/eef74440b491ef0f976f3d25895e8089ae495df0
- https://cna.openjsf.org/security-advisories.html
- https://github.com/expressjs/multer
- https://github.com/expressjs/multer/releases/tag/v2.3.0
- CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H- Weakness (CWE)
CWE-400, CWE-459- Platform
- npm
- Package
multer- Disclosed
- 08.09.2026
- Updated
- 11.10.2026 10:22
Sources and licenses
OSV / GitHub Advisory Database - GHSA-qfvm-cv95-jqjf - CC BY 4.0
Vulnerability history: multer
All published vulnerabilities of this package (npm package), newest first. Shows whether this is a one-off slip or a package that needs watching.
- Total entries
- 14
- First → latest
- 05.2025 09.2026
- Without a fix
- 0
- Exploited in attacks
- 0
Severity breakdown
- High 11
- Medium 2
- Low 1
Disclosures per year
- 2025: 4
- 2026: 10
-
multer vulnerable to Denial of Service via file descriptor leak on aborted uploads this entry
Know which vulnerabilities affect your application
With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.