Skip to content
Heist/ feed
Back to feed
High

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

Type: advisorySources: OSV

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.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-113872
Confirmed fixed CVEs
Not specified
Updated in this feed
2 Nov 2026, 20:21 UTC · Revision 1

Source evidence

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

core-osv · Original source

Published 22 Oct 2026, 14:20 UTC

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.

osv:CVE-2026-113872
Complete source record
{
  "id": "3625803897e9674bd64d63776cdaedef1ae08f97d3e04cef22130b8be09e0605",
  "url": "https://osv.dev/vulnerability/CVE-2026-113872",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "multer vulnerable to Denial of Service via a pending asynchronous fileFilter after request teardown",
    "summary": "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.",
    "evidence": "osv:CVE-2026-113872",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-113872",
      "aliases": [
        "CVE-2026-113872",
        "GHSA-q7qp-rjg7-q26m"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/expressjs/multer",
              "type": "GIT",
              "events": [
                {
                  "introduced": "2c8505f207d923dd8de13a9f93a4563e59933665"
                },
                {
                  "fixed": "2c380d06cdaacc68bbef8b36244493a3d33d6b88"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "2.0.0"
                      },
                      {
                        "fixed": "2.5.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "range": [
                      {
                        "introduced": "2.0.0"
                      },
                      {
                        "fixed": "2.5.0"
                      }
                    ],
                    "source": "DESCRIPTION"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v2.4.0",
            "v2.3.0",
            "v2.2.0",
            "v2.1.1",
            "v2.1.0",
            "v2.0.2",
            "v2.0.1",
            "v2.0.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-113872.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:23.362122049Z",
      "provider": "osv",
      "references": [
        "https://cna.openjsf.org/security-advisories.html",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/113xxx/CVE-2026-113872.json",
        "https://github.com/expressjs/multer/security/advisories/GHSA-q7qp-rjg7-q26m",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-113872"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-248",
          "CWE-404"
        ],
        "cna_assigner": "openjs",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/113xxx/CVE-2026-113872.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-113872",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 489792,
  "published_at": "2026-10-22T14:20:18.363+00:00"
}