CVE-2026-77063
multer vulnerable to file size limit bypass via async fileFilter race condition
multer is a middleware for handling multipart/form-data in Node.js. When an application uses an asynchronous fileFilter together with the fileSize limit, a race condition in multer's file stream handling can allow a file that exceeds the configured size limit to bypass the size-limit rejection. All versions before 2.3.0 are affected. The impact is limited because the underlying multipart parser still truncates the stream at the size limit, so this is a bypass of the limit rejection rather than uncontrolled resource consumption. The issue is fixed in multer 2.3.0. Upgrade to multer 2.3.0 to remediate.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- Low
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
3.7
multer vulnerable to file size limit bypass via async fileFilter race condition
multer is a middleware for handling multipart/form-data in Node.js. When an application uses an asynchronous fileFilter together with the fileSize limit, a race condition in multer's file stream handling can allow a file that exceeds the configured size limit to bypass the size-limit rejection. All versions before 2.3.0 are affected. The impact is limited because the underlying multipart parser still truncates the stream at the size limit, so this is a bypass of the limit rejection rather than uncontrolled resource consumption. The issue is fixed in multer 2.3.0. Upgrade to multer 2.3.0 to remediate.
- Record
CVE-2026-77063- CVSS 3.1
- 3.7 Low
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N - Weakness
- CWE-362
- Updated
- 2026-11-02
EUVDEUVD-2026-67929
3.7
multer is a middleware for handling multipart/form-data in Node.js. When an application uses an asynchronous fileFilter together with the fileSize limit, a race condition in multer's file stream handling can allow a file that exceeds the configured size limit to bypass the size-limit rejection. All versions before 2.3.0 are affected. The impact is limited because the underlying multipart parser still truncates the stream at the size limit, so this is a bypass of the limit rejection rather than uncontrolled resource consumption. The issue is fixed in multer 2.3.0. Upgrade to multer 2.3.0 to remediate.
- Record
EUVD-2026-67929- CVSS 3.1
- 3.7 Low
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-qvfw-j98x-7q72
3.7
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.
Patches
Users should upgrade to 2.3.0.
Workarounds
Use a synchronous fileFilter, or validate the uploaded file size after the upload completes.
- Record
GHSA-qvfw-j98x-7q72- CVSS 3.1
- 3.7 Low
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N - Weakness
- CWE-362
- Updated
- 2026-11-02
NVD
3.7
multer is a middleware for handling multipart/form-data in Node.js. When an application uses an asynchronous fileFilter together with the fileSize limit, a race condition in multer's file stream handling can allow a file that exceeds the configured size limit to bypass the size-limit rejection. All versions before 2.3.0 are affected. The impact is limited because the underlying multipart parser still truncates the stream at the size limit, so this is a bypass of the limit rejection rather than uncontrolled resource consumption. The issue is fixed in multer 2.3.0. Upgrade to multer 2.3.0 to remediate.
- Record
CVE-2026-77063- CVSS 3.1
- 3.7 Low
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N - Weakness
- CWE-362
- Updated
- 2026-11-02
OSV
3.7
multer vulnerable to file size limit bypass via async fileFilter race condition
multer is a middleware for handling multipart/form-data in Node.js. When an application uses an asynchronous fileFilter together with the fileSize limit, a race condition in multer's file stream handling can allow a file that exceeds the configured size limit to bypass the size-limit rejection. All versions before 2.3.0 are affected. The impact is limited because the underlying multipart parser still truncates the stream at the size limit, so this is a bypass of the limit rejection rather than uncontrolled resource consumption. The issue is fixed in multer 2.3.0. Upgrade to multer 2.3.0 to remediate.
- Record
CVE-2026-77063- CVSS 3.1
- 3.7 Low
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N - Weakness
- CWE-362
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-77063
3.7
multer is a middleware for handling multipart/form-data in Node.js. When an application uses an asynchronous fileFilter together with the fileSize limit, a race condition in multer's file stream handling can allow a file that exceeds the configured size limit to bypass the size-limit rejection. All versions before 2.3.0 are affected. The impact is limited because the underlying multipart parser still truncates the stream at the size limit, so this is a bypass of the limit rejection rather than uncontrolled resource consumption. The issue is fixed in multer 2.3.0. Upgrade to multer 2.3.0 to remediate.
- Record
DEBIAN-CVE-2026-77063- CVSS 3.1
- 3.7 Low
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N - Updated
- 2026-11-02
Show 5 moreShow less
OSVGHSA-qvfw-j98x-7q72
3.7
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.
Patches
Users should upgrade to 2.3.0.
Workarounds
Use a synchronous fileFilter, or validate the uploaded file size after the upload completes.
- Record
GHSA-qvfw-j98x-7q72- CVSS 3.1
- 3.7 Low
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N - Weakness
- CWE-362
- Updated
- 2026-11-02
OSVCLSA-2026-1788988502 No score
TuxCare security update for multer (2 CVEs)
TuxCare rebuilt multer to address 2 CVEs. Fixed in 1.4.5-lts.2-tuxcare.5.
- Record
CLSA-2026-1788988502- Updated
- 2026-11-02
OSVCLSA-2026-1790176219 No score
TuxCare security update for multer (2 CVEs)
TuxCare rebuilt multer to address 2 CVEs. Fixed in 1.4.5-lts.1-tuxcare.9.
- Record
CLSA-2026-1790176219- Updated
- 2026-11-02
OSVCLSA-2026-1791371658 No score
TuxCare security update for multer (2 CVEs)
TuxCare rebuilt multer to address 2 CVEs. Fixed in 2.2.0-tuxcare.3.
- Record
CLSA-2026-1791371658- Updated
- 2026-11-02
OSVROOT-APP-NPM-CVE-2026-77063 No score
CVE-2026-77063 in multer - Patched by Root
Root has patched CVE-2026-77063 in the multer package for Root:npm. Multiple fixed versions available.
- Record
ROOT-APP-NPM-CVE-2026-77063- Updated
- 2026-11-04
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
multernpm |
before 2.3.0 | 2.3.0 |
multerTuxCare:npm From an advisory covering 2 CVEs |
1.4.5-lts.2-tuxcare.0 up to 1.4.5-lts.2-tuxcare.5, plus listed versions 1.4.5-lts.21.4.5-lts.2-tuxcare.11.4.5-lts.2-tuxcare.21.4.5-lts.2-tuxcare.31.4.5-lts.2-tuxcare.4 |
1.4.5-lts.2-tuxcare.5 |
multerTuxCare:npm From an advisory covering 2 CVEs |
1.4.5-lts.1-tuxcare.0 up to 1.4.5-lts.1-tuxcare.9, plus listed versions 1.4.5-lts.11.4.5-lts.1-tuxcare.11.4.5-lts.1-tuxcare.21.4.5-lts.1-tuxcare.31.4.5-lts.1-tuxcare.4 Show 4 moreShow less1.4.5-lts.1-tuxcare.51.4.5-lts.1-tuxcare.61.4.5-lts.1-tuxcare.71.4.5-lts.1-tuxcare.8 |
1.4.5-lts.1-tuxcare.9 |
multerTuxCare:npm From an advisory covering 2 CVEs |
2.2.0-tuxcare.0 up to 2.2.0-tuxcare.3, plus listed versions 2.2.02.2.0-tuxcare.12.2.0-tuxcare.2 |
2.2.0-tuxcare.3 |
node-multerDebian:14 |
before 2.4.0+~cs3.2.0-1, plus listed versions 2.2.0+~cs3.1.0-12.2.0+~cs3.1.0-22.2.0+~cs3.2.0-1 |
2.4.0+~cs3.2.0-1 |
multerRoot:npm |
before 2.3.0-aikido.1 | 2.3.0-aikido.12.3.0-aikido.2 |
@rootio/multerRoot:npm |
before 2.3.0-root.io.1 | 2.3.0-root.io.12.3.0-root.io.2 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | ||
| affected, facts | OSV | |
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-77063 is a low vulnerability (CVSS 3.7) in Expressjs Multer, published August 28, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.23%, the 14th percentile. Fixed in multer 2.3.0.
References
github.com/expressjs/multer/security/advisories/GHSA-qvfw-j98x-7q72
cna.openjsf.org/security-advisories.html
nvd.nist.gov/vuln/detail/CVE-2026-77063
github.com/expressjs/multer/commit/ab6aeae650328cf31799dcfa4c3e116ba8faaacc
github.com/expressjs/multer/releases/tag/v2.3.0
github.com/advisories/GHSA-qvfw-j98x-7q72
github.com/CVEProject/cvelistV5/tree/main/cves/2026/77xxx/CVE-2026-77063.json
security-tracker.debian.org/tracker/CVE-2026-77063
github.com/expressjs/multer