Every CVE Search/ Get API key

CVE-2026-113872

multer vulnerable to Denial of Service via a pending asynchronous fileFilter after request teardown

7.5 HighPublic exploitFix available

multer is a middleware for Node.js that handles multipart/form-data file uploads. In versions from 2.0.0 before 2.5.0, when multer is configured with an asynchronous fileFilter, a single request can crash the Node.js process. If the request is aborted while one file's asynchronous fileFilter is still pending, the pending callback later resumes a parsing stream that multer has already torn down, and the underlying parser emits an error on a stream that no longer has an error listener, which Node raises as an unhandled error event so the process exits. Any application using multer with an asynchronous fileFilter is affected regardless of storage engine, while uploads using a synchronous fileFilter are not affected. The issue is fixed in multer 2.5.0, and users should upgrade to 2.5.0 or later. As a workaround, use a synchronous fileFilter.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
High

Exploit likelihood

0.44%Unchanged since Oct 23, 2026
90%50%10%1%

What each source reports

CVE List Score used 7.5

multer vulnerable to Denial of Service via a pending asynchronous fileFilter after request teardown

multer is a middleware for Node.js that handles multipart/form-data file uploads. In versions from 2.0.0 before 2.5.0, when multer is configured with an asynchronous fileFilter, a single request can crash the Node.js process. If the request is aborted while one file's asynchronous fileFilter is still pending, the pending callback later resumes a parsing stream that multer has already torn down, and the underlying parser emits an error on a stream that no longer has an error listener, which Node raises as an unhandled error event so the process exits. Any application using multer with an asynchronous fileFilter is affected regardless of storage engine, while uploads using a synchronous fileFilter are not affected. The issue is fixed in multer 2.5.0, and users should upgrade to 2.5.0 or later. As a workaround, use a synchronous fileFilter.

Record
CVE-2026-113872
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-248, CWE-404
Updated
2026-11-02
EUVDEUVD-2026-108188 7.5

multer is a middleware for Node.js that handles multipart/form-data file uploads. In versions from 2.0.0 before 2.5.0, when multer is configured with an asynchronous fileFilter, a single request can crash the Node.js process. If the request is aborted while one file's asynchronous fileFilter is still pending, the pending callback later resumes a parsing stream that multer has already torn down, and the underlying parser emits an error on a stream that no longer has an error listener, which Node raises as an unhandled error event so the process exits. Any application using multer with an asynchronous fileFilter is affected regardless of storage engine, while uploads using a synchronous fileFilter are not affected. The issue is fixed in multer 2.5.0, and users should upgrade to 2.5.0 or later. As a workaround, use a synchronous fileFilter.

Record
EUVD-2026-108188
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
GitHub AdvisoriesGHSA-q7qp-rjg7-q26m 7.5

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 affected, regardless of storage engine. Uploads using a synchronous fileFilter are not affected.

Patches

Users should upgrade to multer 2.5.0 or later.

Workarounds

Use a synchronous fileFilter.

Record
GHSA-q7qp-rjg7-q26m
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-248, CWE-404
Updated
2026-11-02
NVD 7.5

multer is a middleware for Node.js that handles multipart/form-data file uploads. In versions from 2.0.0 before 2.5.0, when multer is configured with an asynchronous fileFilter, a single request can crash the Node.js process. If the request is aborted while one file's asynchronous fileFilter is still pending, the pending callback later resumes a parsing stream that multer has already torn down, and the underlying parser emits an error on a stream that no longer has an error listener, which Node raises as an unhandled error event so the process exits. Any application using multer with an asynchronous fileFilter is affected regardless of storage engine, while uploads using a synchronous fileFilter are not affected. The issue is fixed in multer 2.5.0, and users should upgrade to 2.5.0 or later. As a workaround, use a synchronous fileFilter.

Record
CVE-2026-113872
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-248, CWE-404
Updated
2026-11-02
OSV 7.5

multer vulnerable to Denial of Service via a pending asynchronous fileFilter after request teardown

multer is a middleware for Node.js that handles multipart/form-data file uploads. In versions from 2.0.0 before 2.5.0, when multer is configured with an asynchronous fileFilter, a single request can crash the Node.js process. If the request is aborted while one file's asynchronous fileFilter is still pending, the pending callback later resumes a parsing stream that multer has already torn down, and the underlying parser emits an error on a stream that no longer has an error listener, which Node raises as an unhandled error event so the process exits. Any application using multer with an asynchronous fileFilter is affected regardless of storage engine, while uploads using a synchronous fileFilter are not affected. The issue is fixed in multer 2.5.0, and users should upgrade to 2.5.0 or later. As a workaround, use a synchronous fileFilter.

Record
CVE-2026-113872
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-248, CWE-404
Updated
2026-11-02
OSVDEBIAN-CVE-2026-113872 7.5

multer is a middleware for Node.js that handles multipart/form-data file uploads. In versions from 2.0.0 before 2.5.0, when multer is configured with an asynchronous fileFilter, a single request can crash the Node.js process. If the request is aborted while one file's asynchronous fileFilter is still pending, the pending callback later resumes a parsing stream that multer has already torn down, and the underlying parser emits an error on a stream that no longer has an error listener, which Node raises as an unhandled error event so the process exits. Any application using multer with an asynchronous fileFilter is affected regardless of storage engine, while uploads using a synchronous fileFilter are not affected. The issue is fixed in multer 2.5.0, and users should upgrade to 2.5.0 or later. As a workaround, use a synchronous fileFilter.

Record
DEBIAN-CVE-2026-113872
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-04
Show 4 moreShow less
OSVGHSA-q7qp-rjg7-q26m 7.5

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 affected, regardless of storage engine. Uploads using a synchronous fileFilter are not affected.

Patches

Users should upgrade to multer 2.5.0 or later.

Workarounds

Use a synchronous fileFilter.

Record
GHSA-q7qp-rjg7-q26m
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-248, CWE-404
Updated
2026-11-02
OSVCLSA-2026-1793097623 No score

TuxCare security update for multer (1 CVE)

TuxCare rebuilt multer to address 1 CVE. Fixed in 2.2.0-tuxcare.4.

Record
CLSA-2026-1793097623
Updated
2026-11-02
OSVCLSA-2026-1793098630 No score

TuxCare security update for multer (1 CVE)

TuxCare rebuilt multer to address 1 CVE. Fixed in 2.4.0-tuxcare.1.

Record
CLSA-2026-1793098630
Updated
2026-11-02
OSVROOT-APP-NPM-CVE-2026-113872 No score

CVE-2026-113872 in multer - Patched by Root

Root has patched CVE-2026-113872 in the multer package for Root:npm. Multiple fixed versions available.

Record
ROOT-APP-NPM-CVE-2026-113872
Updated
2026-11-04

Affected products

Affected packages

Affected packages
PackageAffectedFixed
multer
npm
2.0.0 up to 2.5.0
2.5.0
multer
TuxCare:npm
2.2.0-tuxcare.0 up to 2.2.0-tuxcare.4, plus listed versions
2.2.02.2.0-tuxcare.12.2.0-tuxcare.22.2.0-tuxcare.3
2.2.0-tuxcare.4
multer
TuxCare:npm
2.4.0-tuxcare.0 up to 2.4.0-tuxcare.1, plus listed versions
2.4.0
2.4.0-tuxcare.1
node-multer
Debian:14
before 2.5.0+~cs3.3.0-1, plus listed versions
2.2.0+~cs3.1.0-12.2.0+~cs3.1.0-22.2.0+~cs3.2.0-12.4.0+~cs3.2.0-1
2.5.0+~cs3.3.0-1
multer
Root:npm
before 2.3.0-aikido.1
2.3.0-aikido.12.4.0-aikido.12.0.2-aikido.72.2.0-aikido.22.3.0-aikido.2
@rootio/multer
Root:npm
before 2.3.0-root.io.1
2.3.0-root.io.12.4.0-root.io.12.0.2-root.io.72.2.0-root.io.22.3.0-root.io.2

Public exploits

Links only. Every CVE stores no exploit code.

Public exploits
SourceLinkDate
PoC in GitHubsantihabib/multer-CVE-2026-1138722026-10-23

History

History
RecordedChangedSources
affectedOSV
affected, factsOSV
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV, PoC in GitHub

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-113872 is a high vulnerability (CVSS 7.5) in Expressjs Multer, published October 22, 2026. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 0.44%, the 38th percentile. Fixed in multer 2.5.0.

References

MoveEnter Open