# CVE-2026-113872: multer denial of service in asynchronous fileFilter after request teardown

Source: https://junglewise.ai/threats/cve-2026-113872-multer-is-a-middleware-for-node-js-that-handles-multipart-form  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-22. Updated: 2026-10-22  
License: CC BY 4.0 with a link back

CVE-2026-113872 · Severity: high · CVSS 7.5 · Published 2026-10-22

multer is a Node.js middleware that handles file uploads from web forms. When configured with asynchronous file filtering, a single aborted upload request can crash the entire Node.js process, causing service outages. An attacker needs no authentication and can trigger this with a single malformed request, making this a critical availability risk for any web application using this feature.

Technologies: [multer (npm)](https://junglewise.ai/threats/technologies/npm-multer). Vendors: [Expressjs](https://junglewise.ai/threats/vendors/expressjs), [npm](https://junglewise.ai/threats/vendors/npm).

## Quick answers

**Is CVE-2026-113872 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-113872 being exploited in the wild.

**How severe is CVE-2026-113872?** High severity, with a CVSS score of 7.5, published 22 October 2026.

**Which products and versions are affected?** Expressjs Multer 2.0.0 to 2.4.x; multer (npm) >= 2.0.0, < 2.5.0, SEMVER:introduced=2.0.0,fixed=2.5.0.

**Is there a fix for CVE-2026-113872?** Yes. multer (npm): upgrade to 2.5.0 or later. Until then: Use a synchronous fileFilter instead of an asynchronous one until upgrading. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-113872 attacked?** It is attacked over the network.

**Am I affected by CVE-2026-113872?** Check whether you run Expressjs Multer or multer (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- multer (npm): upgrade to 2.5.0 or later

  ```sh
  npm install multer@2.5.0
  ```


Use a synchronous fileFilter instead of an asynchronous one until upgrading.

## Technical details

An unhandled error is emitted on a stream without an error listener when an asynchronous fileFilter callback resumes after request teardown. If a request aborts while an async fileFilter is pending, the callback later resumes parsing on a stream multer has already torn down, causing busboy to emit an uncaught error event that crashes the Node.js process. This affects all applications using async fileFilter regardless of storage engine; synchronous fileFilter is not vulnerable.

## Affected products

- expressjs multer 2.0.0 to 2.4.x

## Identifiers

- CVE-2026-113872
- GHSA-q7qp-rjg7-q26m

## Timeline

- 2026-10-22: disclosed
- 2026-10-22: patched: Version 2.5.0 released

## References

- [https://cna.openjsf.org/security-advisories.html](https://cna.openjsf.org/security-advisories.html)
- [https://github.com/expressjs/multer/security/advisories/GHSA-q7qp-rjg7-q26m](https://github.com/expressjs/multer/security/advisories/GHSA-q7qp-rjg7-q26m)

## Related threats

- [Express multer Denial of Service via orphaned disk writes](https://junglewise.ai/threats/cve-2026-88932-express-multer-denial-of-service-via-orphaned-disk-writes)
- [multer denial of service via oversized array index](https://junglewise.ai/threats/cve-2026-82333-multer-denial-of-service-via-oversized-array-index-in-field-names)
- [multer Denial of Service via crafted multipart field names](https://junglewise.ai/threats/cve-2026-77078-multer-denial-of-service-via-crafted-multipart-field-names)
- [multer file size limit bypass via async fileFilter race condition](https://junglewise.ai/threats/cve-2026-77063-multer-file-size-limit-bypass-via-async-filefilter-race-condition)
- [Express multer file descriptor leak on aborted uploads](https://junglewise.ai/threats/cve-2026-77037-express-multer-file-descriptor-leak-on-aborted-uploads)
