---
id: CVE-2026-113872
aliases:
  - GHSA-q7qp-rjg7-q26m
title: >-
  multer vulnerable to Denial of Service via a pending asynchronous fileFilter
  after request teardown
summary: >-
  multer vulnerable to Denial of Service via a pending asynchronous fileFilter
  after request teardown
severity: high
cvss: 7.5
cwe:
  - CWE-248
  - CWE-404
vendor: multer
product: multer
ecosystem: npm
affected:
  - 'multer >= 2.0.0, < 2.5.0'
patched:
  - multer 2.5.0
published: '2026-10-23'
updated: '2026-10-23'
sourceUpdated: '2026-10-23T22:08:22Z'
source: GHSA
sourceUrl: 'https://github.com/advisories/GHSA-q7qp-rjg7-q26m'
references:
  - url: >-
      https://github.com/expressjs/multer/security/advisories/GHSA-q7qp-rjg7-q26m
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-113872'
  - url: >-
      https://github.com/expressjs/multer/commit/80a2d9df1dfd63b5fab631b8b9966164ed647adf
  - url: 'https://cna.openjsf.org/security-advisories.html'
  - url: 'https://github.com/expressjs/multer/releases/tag/v2.5.0'
  - url: 'https://github.com/advisories/GHSA-q7qp-rjg7-q26m'
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-113872.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-113872'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2559046'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-113872'
tags:
  - ghsa
  - npm
  - exploit-available
  - csaf
  - vex
  - red-hat
  - cve.org
epss: 0.00442
epssPercentile: 0.38188
exploits:
  github: 1
  githubRepos:
    - 'https://github.com/santihabib/multer-CVE-2026-113872'
  checkedAt: '2026-10-27T16:58:00.981Z'
exploitAvailable: true
ssvc:
  exploitation: none
  automatable: 'yes'
  technicalImpact: partial
  timestamp: '2026-10-22T18:26:56.734787Z'
ingestedAt: '2026-10-22T22:00:50.375Z'
---

## Overview

### 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`.

## Affected packages

- `multer >= 2.0.0, < 2.5.0`

## Remediation

Upgrade to a patched release:

- `multer 2.5.0`

## Vendor advisories

- **Red Hat VEX** · Important · affected: Red Hat 3scale API Management Platform 2, Red Hat Developer Hub, Self-service automation portal 2 · no fix planned: Red Hat 3scale API Management Platform 2, Red Hat Developer Hub, Self-service automation portal 2 · updated 2026-10-22 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-113872.json)
