CVE-2026-5038
Published: 15 June 2026
Summary
CVE-2026-5038 is a medium-severity Incomplete Cleanup (CWE-459) vulnerability in Expressjs Multer. Its CVSS base score is 5.3 (Medium).
Operationally, ranked at the 19.4th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2026-36728
Vulnerability details
Impact: multer versions 2.0.0-alpha.1 through 2.1.1 and 3.0.0-alpha.1 are vulnerable to a Denial of Service when using diskStorage. Aborted or malformed multipart uploads leave orphaned partial files on disk because the Readable.pipe() call does not propagate the stream destroy signal…
more
to the underlying fs.WriteStream. An attacker can exhaust disk space by triggering many aborted uploads, with no application bug required. Patches: Users should upgrade to multer 2.2.0 (2.x line) or 3.0.0-alpha.2 (3.x prerelease). Both versions track in-flight write streams and clean them up on the abort path. Workarounds: None.
- CWE(s)
Related Threats
No named actor attribution yet. ATT&CK technique mapping in progress for this CVE.
Affected Assets
Mitigating Controls
Likely Mitigating Controls AI
Per-CVE control mapping for this CVE has not run yet; the list below is derived from the weakness types (CWEs) cited in the NVD entry.
Mandates complete sanitization during cleanup so that shared resources (memory, caches, buffers) do not retain data across subjects.
Operational retention schedules mandate complete cleanup of temporary or residual sensitive data after use.
Termination of the non-persistent artifact guarantees cleanup of temporary state, directly countering incomplete cleanup weaknesses.
Fail-safe procedures can explicitly require cleanup of temporary state, resources, or privileges on failure to avoid leaving the system in an inconsistent state.
The explicit delete step when information is no longer needed implements the cleanup that this weakness omits.
Enforces complete cleanup and sanitization steps during disposal, closing gaps that leave data remnants on retired components.