multer
Ecosystem: npm
Downloads:
- 0CriticalAffects 0 versions
- 12HighAffects 13 versions
- 0MediumAffects 0 versions
- 2ModerateAffects 3 versions
- 1LowAffects 1 version
- Critical0 (0.0%)
- High12 (80.0%)
- Medium0 (0.0%)
- Moderate2 (13.3%)
- Low1 (6.7%)
Monthly breakdown
- Critical
- High
- Medium
- Moderate
- Low
- 1 vulnerabilities
- Critical: 0
- High: 1
- Medium: 0
- Moderate: 0
- Low: 0
- 5 vulnerabilities
- Critical: 0
- High: 3
- Medium: 0
- Moderate: 1
- Low: 1
- 2 vulnerabilities
- Critical: 0
- High: 1
- Medium: 0
- Moderate: 1
- Low: 0
- 3 vulnerabilities
- Critical: 0
- High: 3
- Medium: 0
- Moderate: 0
- Low: 0
- 1 vulnerabilities
- Critical: 0
- High: 1
- Medium: 0
- Moderate: 0
- Low: 0
- 1 vulnerabilities
- Critical: 0
- High: 1
- Medium: 0
- Moderate: 0
- Low: 0
- 2 vulnerabilities
- Critical: 0
- High: 2
- Medium: 0
- Moderate: 0
- Low: 0
Vulnerabilities (15)
Known vulnerabilities affecting multer, based on data from OSV.
| ID | Severity | Summary | Affected versions | Published | Source |
|---|---|---|---|---|---|
| GHSA-q7qp-rjg7-q26m | High | multer vulnerable to Denial of Service via a pending asynchronous fileFilter after request teardown### Impact When `multer` is configured with an asynchronous `fileFilter`, a single request can crash the Node.js process. If a request is aborted (for example when one file is rejected) while another file's async `fileFilter` is still pending, the pending callback later resumes a parsing stream that multer has already torn down. busboy then emits an error on a stream that no longer has an error listener, which Node raises as an unhandled `'error'` event, and the process exits. A single unauthenticated request is enough, so any application using `multer` with an asynchronous `fileFilter` is af |
| GitHub (opens in a new tab) | |
| GHSA-3pph-fpjx-jg34 | Moderate | multer vulnerable to Denial of Service via orphaned disk writes on aborted uploads### Impact Multer's `diskStorage` can leave complete, orphaned files on disk when a multipart upload is aborted in the brief window before the storage engine assigns the file path. This is an incomplete fix of CVE-2026-5038: the earlier cleanup removes only in-flight uploads that already have a path, so an upload aborted inside that window is written to disk with nothing left to remove it, and the application is not given a handle to clean it up. An unauthenticated attacker sending aborted requests to any route backed by disk storage can accumulate orphaned files until the upload directory or |
| GitHub (opens in a new tab) | |
| GHSA-535w-7cp7-47q4 | High | multer vulnerable to Denial of Service via oversized array index in field names### Impact multer is vulnerable to a Denial of Service (DoS) via a crafted array index in multipart field names. The `append-field` dependency parses bracket notation in field names, and a large numeric index such as `items[4294967294]` forces allocation of a maximum-length sparse array. A following field with a non-numeric key on the same base then converts that array to an object by iterating its full length, which consumes CPU synchronously and leaves the process unable to handle other requests. A single HTTP request with a crafted multipart body is sufficient to exploit this, and it affec |
| GitHub (opens in a new tab) | |
| GHSA-qfvm-cv95-jqjf | High | 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. |
| GitHub (opens in a new tab) | |
| GHSA-qvfw-j98x-7q72 | Low | multer vulnerable to file size limit bypass via async fileFilter race condition### Impact When `multer` is configured with an asynchronous `fileFilter`, the `limits.fileSize` limit can be bypassed. The `'limit'` event is registered inside the async `fileFilter` callback, so if a file exceeds `limits.fileSize` before that callback runs, the event is missed and the oversized upload is accepted instead of being rejected with a `LIMIT_FILE_SIZE` error. Applications that rely on `limits.fileSize` to reject oversized uploads are affected on all upload methods (`.single()`, `.array()`, `.fields()`, `.any()`). Uploads using a synchronous `fileFilter` are not affected. ### Patc |
| GitHub (opens in a new tab) | |
| GHSA-wc9g-mqfw-jrwm | High | multer vulnerable to Denial of Service via crafted multipart field names### Impact A vulnerability in multer allows a remote, unauthenticated attacker to crash the Node.js process with a single `multipart/form-data` request. Two specially crafted text field names cause an uncaught `RangeError: Invalid array length` inside multer's field parsing, which is not routed to the application error handler and terminates the process. All applications using multer to parse multipart requests are affected. ### Patches Users should upgrade to `2.3.0`. ### Workarounds None. |
| GitHub (opens in a new tab) | |
| GHSA-3p4h-7m6x-2hcm | Moderate | Multer vulnerable to Denial of Service via incomplete cleanup of aborted uploads### Impact A vulnerability in Multer allows an attacker to trigger a Denial of Service (DoS) by aborting or sending malformed multipart uploads, causing orphaned partial files to accumulate on disk when using diskStorage. ### Patches Users should upgrade to `2.2.0`, `3.0.0-alpha.2` or higher ### Workarounds None |
| GitHub (opens in a new tab) | |
| GHSA-72gw-mp4g-v24j | High | Multer vulnerable to Denial of Service via deeply nested field names### Impact Multer is vulnerable to a Denial of Service (DoS) via deeply nested field names in multipart form data. The `append-field` dependency parses bracket notation in field names (e.g., `a[b][c]`) with no limit on nesting depth, allowing an attacker to force allocation of deeply nested object structures that consume CPU and memory. A single HTTP request with a crafted multipart body is sufficient to exploit this. ### Patches Users should upgrade to `2.2.0` and configure `limits.fieldNestingDepth` to the minimum depth their application requires. ### Workarounds Set `limits.fields` to |
| GitHub (opens in a new tab) | |
| GHSA-5528-5vmv-3xc2 | High | Multer Vulnerable to Denial of Service via Uncontrolled Recursion### Impact A vulnerability in Multer versions < 2.1.1 allows an attacker to trigger a Denial of Service (DoS) by sending malformed requests, potentially causing stack overflow. ### Patches Users should upgrade to `2.1.1` ### Workarounds None ### Resources - https://github.com/expressjs/multer/security/advisories/GHSA-5528-5vmv-3xc2 - https://www.cve.org/CVERecord?id=CVE-2026-3520 - https://github.com/expressjs/multer/commit/7e66481f8b2e6c54b982b34c152479e096ce2752 - https://cna.openjsf.org/security-advisories.html |
| GitHub (opens in a new tab) | |
| GHSA-v52c-386h-88mc | High | Multer vulnerable to Denial of Service via resource exhaustion### Impact A vulnerability in Multer versions < 2.1.0 allows an attacker to trigger a Denial of Service (DoS) by dropping connection during file upload, potentially causing resource exhaustion. ### Patches Users should upgrade to `2.1.0` ### Workarounds None |
| GitHub (opens in a new tab) |
- GHSA-q7qp-rjg7-q26mHighmulter vulnerable to Denial of Service via a pending asynchronous fileFilter after request teardown
>= 2.0.0, < 2.5.0
### Impact When `multer` is configured with an asynchronous `fileFilter`, a single request can crash the Node.js process. If a request is aborted (for example when one file is rejected) while another file's async `fileFilter` is still pending, the pending callback later resumes a parsing stream that multer has already torn down. busboy then emits an error on a stream that no longer has an error listener, which Node raises as an unhandled `'error'` event, and the process exits. A single unauthenticated request is enough, so any application using `multer` with an asynchronous `fileFilter` is af
CVE: CVE-2026-113872
- GHSA-3pph-fpjx-jg34Moderatemulter vulnerable to Denial of Service via orphaned disk writes on aborted uploads
>= 2.2.0, < 2.4.0
### Impact Multer's `diskStorage` can leave complete, orphaned files on disk when a multipart upload is aborted in the brief window before the storage engine assigns the file path. This is an incomplete fix of CVE-2026-5038: the earlier cleanup removes only in-flight uploads that already have a path, so an upload aborted inside that window is written to disk with nothing left to remove it, and the application is not given a handle to clean it up. An unauthenticated attacker sending aborted requests to any route backed by disk storage can accumulate orphaned files until the upload directory or
CVE: CVE-2026-88932
- GHSA-535w-7cp7-47q4Highmulter vulnerable to Denial of Service via oversized array index in field names
< 2.3.0
### Impact multer is vulnerable to a Denial of Service (DoS) via a crafted array index in multipart field names. The `append-field` dependency parses bracket notation in field names, and a large numeric index such as `items[4294967294]` forces allocation of a maximum-length sparse array. A following field with a non-numeric key on the same base then converts that array to an object by iterating its full length, which consumes CPU synchronously and leaves the process unable to handle other requests. A single HTTP request with a crafted multipart body is sufficient to exploit this, and it affec
CVE: CVE-2026-82333
- GHSA-qfvm-cv95-jqjfHighmulter vulnerable to Denial of Service via file descriptor leak on aborted uploads
>= 2.2.0, < 2.3.0
### 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.
CVE: CVE-2026-77037
- GHSA-qvfw-j98x-7q72Lowmulter vulnerable to file size limit bypass via async fileFilter race condition
< 2.3.0
### Impact When `multer` is configured with an asynchronous `fileFilter`, the `limits.fileSize` limit can be bypassed. The `'limit'` event is registered inside the async `fileFilter` callback, so if a file exceeds `limits.fileSize` before that callback runs, the event is missed and the oversized upload is accepted instead of being rejected with a `LIMIT_FILE_SIZE` error. Applications that rely on `limits.fileSize` to reject oversized uploads are affected on all upload methods (`.single()`, `.array()`, `.fields()`, `.any()`). Uploads using a synchronous `fileFilter` are not affected. ### Patc
CVE: CVE-2026-77063
- GHSA-wc9g-mqfw-jrwmHighmulter vulnerable to Denial of Service via crafted multipart field names
< 2.3.0
### Impact A vulnerability in multer allows a remote, unauthenticated attacker to crash the Node.js process with a single `multipart/form-data` request. Two specially crafted text field names cause an uncaught `RangeError: Invalid array length` inside multer's field parsing, which is not routed to the application error handler and terminates the process. All applications using multer to parse multipart requests are affected. ### Patches Users should upgrade to `2.3.0`. ### Workarounds None.
CVE: CVE-2026-77078
- GHSA-3p4h-7m6x-2hcmModerateMulter vulnerable to Denial of Service via incomplete cleanup of aborted uploads
>= 2.0.0-alpha.1, < 2.2.0>= 3.0.0-alpha.1, < 3.0.0-alpha.2
### Impact A vulnerability in Multer allows an attacker to trigger a Denial of Service (DoS) by aborting or sending malformed multipart uploads, causing orphaned partial files to accumulate on disk when using diskStorage. ### Patches Users should upgrade to `2.2.0`, `3.0.0-alpha.2` or higher ### Workarounds None
CVE: CVE-2026-5038
- GHSA-72gw-mp4g-v24jHighMulter vulnerable to Denial of Service via deeply nested field names
>= 1.0.0, < 2.2.0>= 3.0.0-alpha.1, < 3.0.0-alpha.2
### Impact Multer is vulnerable to a Denial of Service (DoS) via deeply nested field names in multipart form data. The `append-field` dependency parses bracket notation in field names (e.g., `a[b][c]`) with no limit on nesting depth, allowing an attacker to force allocation of deeply nested object structures that consume CPU and memory. A single HTTP request with a crafted multipart body is sufficient to exploit this. ### Patches Users should upgrade to `2.2.0` and configure `limits.fieldNestingDepth` to the minimum depth their application requires. ### Workarounds Set `limits.fields` to
CVE: CVE-2026-5079
- GHSA-5528-5vmv-3xc2HighMulter Vulnerable to Denial of Service via Uncontrolled Recursion
< 2.1.1
### Impact A vulnerability in Multer versions < 2.1.1 allows an attacker to trigger a Denial of Service (DoS) by sending malformed requests, potentially causing stack overflow. ### Patches Users should upgrade to `2.1.1` ### Workarounds None ### Resources - https://github.com/expressjs/multer/security/advisories/GHSA-5528-5vmv-3xc2 - https://www.cve.org/CVERecord?id=CVE-2026-3520 - https://github.com/expressjs/multer/commit/7e66481f8b2e6c54b982b34c152479e096ce2752 - https://cna.openjsf.org/security-advisories.html
CVE: CVE-2026-3520
- GHSA-v52c-386h-88mcHighMulter vulnerable to Denial of Service via resource exhaustion
< 2.1.0
### Impact A vulnerability in Multer versions < 2.1.0 allows an attacker to trigger a Denial of Service (DoS) by dropping connection during file upload, potentially causing resource exhaustion. ### Patches Users should upgrade to `2.1.0` ### Workarounds None
CVE: CVE-2026-2359