Skip to main content

fastify-multipart EUVDEUVD-2026-59759

| CVE-2026-18549 HIGH
Uncontrolled Resource Consumption (CWE-400)
2026-08-15 ce714d77-add3-4f53-aff5-83d477b104bb
7.5
CVSS 3.1 · Vendor: ce714d77-add3-4f53-aff5-83d477b104bb
Share

Severity by source

Vendor (ce714d77-add3-4f53-aff5-83d477b104bb) PRIMARY
7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI
7.5 HIGH

Network-reachable upload endpoint, no authentication required per description; A:H for unbounded disk and event-loop exhaustion; C:N and I:N as no data is read or modified.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (ce714d77-add3-4f53-aff5-83d477b104bb).

CVSS VectorVendor: ce714d77-add3-4f53-aff5-83d477b104bb

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

3
Analysis Generated
Aug 15, 2026 - 14:31 vuln.today
Patch available
Aug 15, 2026 - 14:19 EUVD
CVE Published
Aug 15, 2026 - 14:17 cve.org
HIGH 7.5

DescriptionCVE.org

@fastify/multipart is a multipart form-data parser for Fastify. In versions from 5.3.0 up to but not including 10.1.1, when the busboy fileSize limit truncates a file part, the plugin clears its internal current-file reference while the underlying stream is still open. If the client then aborts the connection before sending the terminating boundary, the abort cleanup finds no stream to destroy, so saveRequestFiles() never settles, the request handler hangs, and the temporary file already written to disk is never cleaned up. An unauthenticated client can repeat this to permanently leak temporary files and suspended handler executions, leading to disk and event-loop exhaustion. The issue is fixed in @fastify/multipart 10.1.1. Users should upgrade to 10.1.1.

AnalysisAI

Uncontrolled resource consumption in @fastify/multipart (versions 5.3.0 through 10.1.0) allows any unauthenticated remote client to permanently leak temporary files on disk and suspend Fastify request handler executions, ultimately exhausting both disk space and the Node.js event loop. The root defect is a state-management flaw: when busboy's fileSize limit truncates an incoming file part, the plugin prematurely clears its internal stream reference, so a subsequent client-initiated abort finds nothing to clean up, leaving saveRequestFiles() awaiting a settlement that never arrives. No public exploit code has been identified at the time of analysis, but the attack is trivially repeatable with standard HTTP tooling, making this a realistic denial-of-service risk for any service that accepts multipart file uploads from untrusted clients.

Technical ContextAI

The affected package, @fastify/multipart, is the official Fastify plugin for parsing multipart/form-data HTTP requests and is implemented on top of the busboy streaming parser. CWE-400 (Uncontrolled Resource Consumption) accurately describes the root cause: a lifecycle mismatch between busboy's internal stream state and the plugin's own reference tracking. When busboy enforces a developer-configured fileSize limit, it truncates the stream and signals completion, at which point the plugin zeroes out its currentFile pointer. However, the underlying Readable stream remains open and unresolved. If the TCP client then abruptly closes the connection - without sending the MIME multipart terminating boundary - the plugin's abort handler finds currentFile === null, skips stream cleanup, and the awaited saveRequestFiles() Promise never resolves or rejects. The result is a permanently suspended async handler and an orphaned temporary file in the OS temp directory. Affected versions span 5.3.0 to 10.1.0 inclusive, as confirmed by EUVD-2026-59759 and the upstream GitHub advisory GHSA-vmph-573x-85f6.

RemediationAI

The primary fix is to upgrade @fastify/multipart to version 10.1.1, which resolves the stream-reference lifecycle bug, as confirmed by the vendor advisory at https://github.com/fastify/fastify-multipart/security/advisories/GHSA-vmph-573x-85f6 and EUVD-2026-59759. If an immediate upgrade is not feasible, the following compensating controls can reduce exposure: require authentication on all multipart upload endpoints to eliminate unauthenticated exploitation (trade-off: breaks public upload workflows); apply aggressive per-IP rate limiting on upload routes using a Fastify rate-limit plugin to constrain the attacker's ability to accumulate leaked resources at scale (trade-off: may affect legitimate high-volume uploaders); set a temp-file cleanup job (e.g., a cron task targeting the OS temp directory) to periodically remove stale files, preventing disk exhaustion from accumulating (trade-off: does not stop handler suspension or event-loop saturation); and monitor Node.js event-loop lag and disk usage on the temp partition to detect exploitation attempts early. None of these workarounds eliminate the underlying defect - upgrading to 10.1.1 is the definitive resolution.

CVE-2023-31999 HIGH POC
8.8 Jul 04

All versions of @fastify/oauth2 used a statically generated state parameter at startup time and were used across all req

CVE-2021-22964 HIGH POC
8.8 Oct 14

A redirect vulnerability in the `fastify-static` module version >= 4.2.4 and < 4.4.1 allows remote attackers to redirect

CVE-2025-32442 HIGH POC
7.5 Apr 18

Fastify is a fast and low overhead web framework, for Node.js. Rated high severity (CVSS 7.5), this vulnerability is rem

CVE-2020-8136 HIGH POC
7.5 Mar 20

Prototype pollution vulnerability in fastify-multipart < 1.0.5 allows an attacker to crash fastify applications parsing

CVE-2018-3711 HIGH POC
7.5 Jun 07

Fastify node module before 0.38.0 is vulnerable to a denial-of-service attack by sending a request with "Content-Type: a

CVE-2020-8192 MEDIUM POC
6.5 Jul 30

A denial of service vulnerability exists in Fastify v2.14.1 and v3.0.0-rc.4 that allows a malicious user to trigger reso

CVE-2021-22963 MEDIUM POC
6.1 Oct 14

A redirect vulnerability in the fastify-static module version < 4.2.4 allows remote attackers to redirect users to arbit

CVE-2026-6556 CRITICAL
9.1 Jun 30

Authorization bypass in the @fastify/express middleware-compatibility plugin (versions 4.0.6 and earlier) lets unauthent

CVE-2026-33808 CRITICAL
9.1 Apr 15

Authentication bypass in @fastify/express v4.0.4 and earlier allows remote unauthenticated attackers to access protected

CVE-2026-33807 CRITICAL
9.1 Apr 15

Middleware bypass in Fastify Express plugin (fastify/express) allows complete circumvention of authentication, authoriza

CVE-2022-41919 HIGH
8.8 Nov 22

Fastify is a web framework with minimal overhead and plugin architecture. Rated high severity (CVSS 8.8), this vulnerabi

CVE-2026-2880 HIGH
8.2 Feb 27

Authentication and authorization bypass in @fastify/middie (Node.js middleware library for Fastify) allows remote unauth

Share

EUVD-2026-59759 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy