Description
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.
Published: 2026-10-22
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service
Action: Apply Patch
AI Analysis

Impact

multer is a Node.js middleware that handles file uploads in multipart/form-data requests. In versions 2.0.0 up to but excluding 2.5.0, an asynchronous fileFilter can become pending while a request is aborted. When the callback for that pending filter later executes, it resumes a parsing stream that has already been torn down; the underlying parser then emits an error on a stream that has no error listener. Node treats this as an unhandled exception and terminates the process, resulting in a complete denial of service for the affected application. The flaw is limited to the asynchronous fileFilter; using a synchronous fileFilter does not trigger the crash.

Affected Systems

The vulnerability impacts any deployment of the Multer package in the range 2.0.0–2.4.x on Node.js applications, regardless of the configured storage engine. Applications that implement an asynchronous fileFilter within Multer are affected across all supported environments; synchronous filters remain safe.

Risk and Exploitability

The CVSS score of 7.5 indicates a high severity vulnerability that could be exploited by an attacker capable of initiating a multipart/form-data upload. Although EPSS data is not available, the lack of an existing KEV listing suggests there are no known large-scale exploits at the time of analysis. The likely attack vector involves sending a crafted multipart upload that triggers the asynchronous fileFilter and then aborting the request early, thereby forcing the pending filter to resume on a torn-down stream and crash the Node.js process.

Generated by OpenCVE AI on October 22, 2026 at 16:36 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade multer to version 2.5.0 or later
  • Replace any asynchronous fileFilter with a synchronous implementation, or remove the fileFilter entirely if not required
  • Ensure that request logic does not prematurely abort uploads before the fileFilter completes; add monitoring for unhandled exception events to restart the application promptly

Generated by OpenCVE AI on October 22, 2026 at 16:36 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-q7qp-rjg7-q26m multer vulnerable to Denial of Service via a pending asynchronous fileFilter after request teardown
History

Fri, 23 Oct 2026 12:30:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

threat_severity

Important


Fri, 23 Oct 2026 00:45:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 22 Oct 2026 15:45:00 +0000

Type Values Removed Values Added
First Time appeared Multer
Multer multer
Vendors & Products Multer
Multer multer

Thu, 22 Oct 2026 14:30:00 +0000

Type Values Removed Values Added
Description 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.
Title multer vulnerable to Denial of Service via a pending asynchronous fileFilter after request teardown
Weaknesses CWE-248
CWE-404
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}


cve-icon MITRE

Status: PUBLISHED

Assigner: openjs

Published:

Updated: 2026-10-22T19:00:31.884Z

Reserved: 2026-10-20T19:59:25.159Z

Link: CVE-2026-113872

cve-icon Vulnrichment

Updated: 2026-10-22T18:59:50.573Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-22T15:17:05.377

Modified: 2026-10-22T19:17:36.023

Link: CVE-2026-113872

cve-icon Redhat

Severity : Important

Publid Date: 2026-10-22T14:20:18Z

Links: CVE-2026-113872 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-22T16:45:09Z

Weaknesses
  • CWE-248

    Uncaught Exception

  • CWE-404

    Improper Resource Shutdown or Release