Multer
CVE-2026-3520
HIGH
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Remote, no-auth, low-complexity malformed request reaches the upload endpoint (AV:N/AC:L/PR:N/UI:N); impact is a process crash only, so C:N/I:N/A:H with unchanged scope.
Primary rating from Vendor (ce714d77-add3-4f53-aff5-83d477b104bb).
CVSS VectorVendor: ce714d77-add3-4f53-aff5-83d477b104bb
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Lifecycle Timeline
9Blast Radius
ecosystem impact- 117 npm packages depend on multer (44 direct, 75 indirect)
Ecosystem-wide dependent count for version 2.1.1.
DescriptionCVE.org
Multer is a node.js middleware for handling multipart/form-data. A vulnerability in Multer prior to version 2.1.1 allows an attacker to trigger a Denial of Service (DoS) by sending malformed requests, potentially causing stack overflow. Users should upgrade to version 2.1.1 to receive a patch. No known workarounds are available.
AnalysisAI
Denial of service in Multer (Express.js multipart/form-data middleware) before version 2.1.1 allows remote unauthenticated attackers to crash a Node.js application by sending specially malformed multipart requests that trigger uncontrolled recursion and stack overflow. Affecting one of the most widely used file-upload middlewares in the Node.js/Express ecosystem, the flaw carries a CVSS 4.0 base score of 8.7 with availability-only impact. There is no public exploit identified at time of analysis and the EPSS score is very low (0.06%, 18th percentile), but a vendor patch and Red Hat errata are available.
Technical ContextAI
Multer is Express.js middleware that parses incoming multipart/form-data request bodies, primarily for handling file uploads. The vulnerability is classified as CWE-674 (Uncontrolled Recursion): malformed multipart input drives the parser into excessively deep or unbounded recursive processing, exhausting the call stack and producing a stack overflow that terminates the Node.js process. Because Node.js runs application logic in a single main event-loop thread, an unhandled crash of this kind takes down the entire service rather than an isolated worker. The affected component is identified by CPE cpe:2.3:a:expressjs:multer:*:*:*:*:*:node.js:*:*, covering all releases prior to 2.1.1.
RemediationAI
Upgrade Multer to version 2.1.1 or later, which contains the patch (upstream fix commit 7e66481f8b2e6c54b982b34c152479e096ce2752, vendor advisory GHSA-5528-5vmv-3xc2). Vendor-released patch: 2.1.1. The vendor states no known workarounds are available, so patching is the only complete remediation. Red Hat users should apply the corresponding distribution errata RHSA-2026:6174 or RHSA-2026:6802. Until the upgrade can be deployed, the only meaningful compensating controls are infrastructure-level: place a reverse proxy or WAF in front of upload endpoints to enforce strict limits on multipart body size and part count, and restrict or rate-limit access to file-upload routes to reduce the crash surface - with the trade-off that legitimate large or complex uploads may be rejected and these controls do not address the underlying recursion flaw. Process supervisors (PM2, systemd, container restart policies) should be in place to auto-restart crashed Node.js workers, though this only limits downtime rather than preventing the DoS.
FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote
Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t
Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete
Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc
An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner
Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi
Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin
The JS-YAML module before 2.0.5 for Node.js parses input without properly considering the unsafe !!js/function tag, whic
Directory traversal vulnerability in lib/app/index.js in Geddy before 13.0.8 for Node.js allows remote attackers to read
Credential-harvesting malware compromised 84 versions of 42 TanStack npm packages on 2026-05-11 via chained GitHub Actio
Eval injection vulnerability in index.js in the syntax-error package before 1.1.1 for Node.js 0.10.x, as used in IBM Rat
The HTTP server in Node.js 0.10.x before 0.10.21 and 0.8.x before 0.8.26 allows remote attackers to cause a denial of se
Same weakness CWE-674 – Uncontrolled Recursion
View allSame technique Denial Of Service
View allVendor StatusVendor
Share
External POC / Exploit Code
Leaving vuln.today
GHSA-5528-5vmv-3xc2