{"schema":"threatline.record/2","record":{"id":"CVE-2026-113872","aliases":["GHSA-q7qp-rjg7-q26m"],"summary":"multer vulnerable to Denial of Service via a pending asynchronous fileFilter after request teardown","details":"### Impact\n\nWhen `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.\n\n### Patches\n\nUsers should upgrade to `multer` `2.5.0` or later.\n\n### Workarounds\n\nUse a synchronous `fileFilter`.","categories":["Libraries & packages"],"product":"multer","vendor":"multer","ecosystem":"npm","affected_ranges":[{"source":"GitHub Advisory Database","source_url":"https://github.com/advisories/GHSA-q7qp-rjg7-q26m","source_modified_at":"2026-10-23T22:08:22Z","fetched_at":"2026-10-24T00:31:04.721601Z","package":{"ecosystem":"npm","name":"multer"},"range":">= 2.0.0, < 2.5.0"},{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-113872","source_modified_at":"2026-10-22T19:00:31.884Z","fetched_at":"2026-10-23T18:42:43.628194Z","product":"multer","vendor":"multer","versions":[{"lessThan":"2.5.0","status":"affected","version":"2.0.0","versionType":"semver"},{"status":"unaffected","version":"2.5.0","versionType":"semver"}],"defaultStatus":"unaffected"},{"source":"OSV","source_url":"https://osv.dev/vulnerability/GHSA-q7qp-rjg7-q26m","source_modified_at":"2026-10-23T22:15:04.285056362Z","fetched_at":"2026-10-24T00:31:04.721601Z","package":{"name":"multer","ecosystem":"npm","purl":"pkg:npm/multer"},"ranges":[{"type":"SEMVER","events":[{"introduced":"2.0.0"},{"fixed":"2.5.0"}]}],"versions":[]}],"fixed_versions":[{"source":"GitHub Advisory Database","source_url":"https://github.com/advisories/GHSA-q7qp-rjg7-q26m","source_modified_at":"2026-10-23T22:08:22Z","fetched_at":"2026-10-24T00:31:04.721601Z","package":{"ecosystem":"npm","name":"multer"},"version":"2.5.0"},{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-113872","source_modified_at":"2026-10-22T19:00:31.884Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"name":"multer","ecosystem":null},"version":"2.5.0","basis":"first unaffected version stated in the CVE record"},{"source":"OSV","source_url":"https://osv.dev/vulnerability/GHSA-q7qp-rjg7-q26m","source_modified_at":"2026-10-23T22:15:04.285056362Z","fetched_at":"2026-10-24T00:31:04.721601Z","package":{"name":"multer","ecosystem":"npm","purl":"pkg:npm/multer"},"version":"2.5.0"}],"cvss":7.5,"severity":"High","kev":{"listed":false},"epss":{"probability":0.00441,"percentile":0.3731,"score_date":"2026-10-23"},"published_at":"2026-10-22T14:20:18.363Z","modified_at":"2026-10-23T22:15:04.285056362Z","provenance":[{"source":"GitHub Advisory Database","url":"https://github.com/advisories/GHSA-q7qp-rjg7-q26m","fetched_at":"2026-10-24T00:31:04.721601Z","source_modified_at":"2026-10-23T22:08:22Z"},{"source":"CVE List","url":"https://www.cve.org/CVERecord?id=CVE-2026-113872","fetched_at":"2026-10-23T18:42:43.628194Z","source_modified_at":"2026-10-22T19:00:31.884Z"},{"source":"OSV","url":"https://osv.dev/vulnerability/GHSA-q7qp-rjg7-q26m","fetched_at":"2026-10-24T00:31:04.721601Z","source_modified_at":"2026-10-23T22:15:04.285056362Z"},{"source":"EPSS","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-113872","fetched_at":"2026-10-23T18:42:43.628194Z","source_modified_at":"2026-10-23"}],"sources":["GitHub Advisory Database","CVE List","OSV","EPSS"],"references":[{"source":"CVE List","url":"https://github.com/expressjs/multer/security/advisories/GHSA-q7qp-rjg7-q26m"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-113872","source":"GitHub Advisory Database"},{"url":"https://github.com/expressjs/multer/commit/80a2d9df1dfd63b5fab631b8b9966164ed647adf","source":"GitHub Advisory Database"},{"source":"CVE List","url":"https://cna.openjsf.org/security-advisories.html"},{"url":"https://github.com/expressjs/multer/releases/tag/v2.5.0","source":"GitHub Advisory Database"},{"url":"https://github.com/advisories/GHSA-q7qp-rjg7-q26m","source":"GitHub Advisory Database"}],"locations":[],"motoko_assessment":{"status":"requires_architecture_review","automatic_remediation":false},"cve_state":"PUBLISHED","ssvc":{"exploitation":"none","automatable":"yes","technical_impact":"partial","assessed_at":"2026-10-22T18:26:56.734787Z"},"classification":{"method":"product-first software-layer rules","rules_version":"2.1","matched_on":"ecosystem","confidence":"heuristic","reviewed":false},"change_timestamp":"2026-10-23T22:15:04.285056362Z","content_hash":"2902c1ab3fe44bcb85ca8fea74dbcf8d9c0eaa9e3ac901d1efc8dfa0074f8cda"}}
