Skip to main content

@fastify/multipart CVE-2026-19474

| EUVDEUVD-2026-59761 HIGH
Incomplete Cleanup (CWE-459)
2026-08-15 ce714d77-add3-4f53-aff5-83d477b104bb
7.5
CVSS 3.1 · Vendor: ce714d77-add3-4f53-aff5-83d477b104bb
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Connect to exposed multipart upload endpoint
  2. Delivery
    Send multipart request with multiple parts
  3. Exploit
    Disconnect TCP connection between parts
  4. Execution
    Completed temporary file orphaned on disk
  5. Persist
    Automate loop at high request rate
  6. Impact
    Disk exhaustion causes service denial

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Incomplete cleanup
Exploitation Conditions

Exploitation requires that the target Fastify application calls request.saveRequestFiles() from @fastify/multipart on at least one HTTP endpoint - applications using streaming mode or in-memory buffers instead of saveRequestFiles() are not affected even if they run a vulnerable version. The upload endpoint must accept connections from unauthenticated clients, consistent with the PR:N CVSS metric; if authentication is enforced at the application or gateway layer before multipart parsing, the practical attack surface is reduced to authenticated users (who may still abuse it for insider DoS). The attacker must be able to initiate and abruptly terminate TCP connections to the target - standard capability for any internet client. The version must fall within 3.0.0 to <10.1.1. No non-default configuration setting is required; the vulnerability manifests in the default file-saving code path whenever multiple parts are present in a single upload.

Impact

The CVSS 3.1 base score of 7.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H) is well-supported by the mechanics: any internet-accessible Fastify endpoint that calls request.saveRequestFiles() is exploitable without authentication, credentials, or special client state. The attack is fully automatable - a client sends a crafted multipart request and terminates the TCP connection between parts; this loop requires only standard HTTP tooling and no reverse engineering of application logic. The impact is strictly availability, with disk exhaustion potentially cascading to broader service failure in containerized or shared-storage environments. No EPSS score was included in the intelligence data, so probabilistic exploitation likelihood cannot be quantified here; however, the low attack complexity and zero authentication requirement suggest exploitation probability would be non-trivial if this CVE received wider attention. The CVE is not listed in CISA KEV, and no public exploit code was referenced in the advisory - exploitation appears opportunistic rather than confirmed active. The incomplete-fix lineage from CVE-2025-24033 is a notable risk amplifier: threat actors who targeted the prior CVE may already understand the attack surface and test the residual gap. Even a mid-sized municipal IT team in inowroclaw operating a public-facing Fastify file-upload service should treat this as urgent given the zero-barrier exploitation path. The sole mitigating factor is deployment specificity: only applications using the saveRequestFiles() API path are vulnerable, which narrows the effective exposure compared to the raw CVSS score might suggest.

Exploit ScenarioDerived

An unauthenticated attacker sends a multipart/form-data request with two or more parts to any exposed Fastify endpoint that calls request.saveRequestFiles(), deliberately closing the TCP connection after the first part is written to disk but before the iterator advances to process the second. Each such disconnection permanently orphans the temporary file from the completed part. The attacker scripts this loop - achievable with curl, Python requests, or any HTTP library - sending hundreds of such requests per minute, causing the server's temporary storage to fill progressively until the filesystem is exhausted and the application crashes or becomes unavailable. No public exploit code has been identified at time of analysis, but no specialized tooling is required.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 15, 2026

Disk exhaustion via orphaned temporary files in @fastify/multipart versions 3.0.0 through 10.1.0 allows unauthenticated remote clients to cause persistent denial of service against Fastify applications that use the request.saveRequestFiles() API. The defect is an incomplete fix of CVE-2025-24033: while the per-file cleanup path was previously patched, the iterator rejection raised between multipart parts falls outside that cleanup scope, leaving already-completed temporary files permanently on disk. Repeated client disconnections mid-upload cause linear, unbounded disk consumption that can exhaust storage and render the host or container unavailable. No public exploit identified at time of analysis, but the attack is trivially automatable given the unauthenticated, low-complexity network vector.

RemediationAI

The vendor-released patch is @fastify/multipart 10.1.1, which closes the incomplete cleanup path between multipart parts. Users should upgrade immediately by running npm install @fastify/multipart@10.1.1 or pinning >=10.1.1 in their package.json dependency constraint. The full advisory with patch details is at https://github.com/fastify/fastify-multipart/security/advisories/GHSA-62qx-hpj5-j6hc. If an immediate upgrade is not feasible, a viable compensating control is to deploy a rate-limiting layer (via a reverse proxy such as nginx or an API gateway) on multipart upload endpoints, restricting the number of in-flight or per-IP upload requests - this slows disk exhaustion but does not eliminate the vulnerability and adds proxy management overhead. Operators can also configure OS-level temporary file purges using systemd-tmpfiles or tmpwatch targeting the application's temp directory, which bounds total orphaned file accumulation at the cost of potential interference with legitimate long-running uploads. Restricting public access to file-upload endpoints via network ACLs is effective but may break intended application functionality.

Affected VersionsENISA

@fastify/multipart 3.0.0 <10.1.1

Affected Packages

euvd fastify_multipart fix: 10.1.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The affected package, @fastify/multipart, is a Fastify framework plugin that parses multipart/form-data requests - the standard encoding for HTTP file uploads. When request.saveRequestFiles() is called, incoming parts are streamed to temporary disk files for later access by the application. The vulnerability root cause is CWE-459 (Incomplete Cleanup): when the async multipart iterator advances between parts and the client drops the connection at that precise moment, an iterator rejection is thrown. This rejection is handled by a code path that does not reference the already-completed temporary file from the previous part, so that file's deletion logic is never invoked. The gap persisted because the earlier fix for CVE-2025-24033 addressed only the within-part cleanup path, not the between-part transition. The affected range is @fastify/multipart 3.0.0 to <10.1.1 as confirmed by ENISA EUVD-2026-59761 and the GitHub security advisory GHSA-62qx-hpj5-j6hc.

Know when Fastify gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

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-accessible endpoint requires no authentication or privileges; impact is exclusively disk availability with zero confidentiality or integrity effect.

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

2
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 3.0.0 up to but not including 10.1.1, request.saveRequestFiles() can leave completed temporary files on disk when a client disconnects while the parser is advancing between multipart parts. The iterator rejection that occurs between parts falls outside the per-file cleanup path, so an earlier completed file is never removed. An unauthenticated client can repeat this to cause persistent, linear disk consumption, leading to denial of service. This is an incomplete-fix variant of CVE-2025-24033. The issue is fixed in @fastify/multipart 10.1.1. Users should upgrade to 10.1.1.

Executive ViewAI

Why It Matters

@fastify/multipart disk exhaustion vulnerability (CVE-2026-19474) enables remote attackers to exhaust server storage through repeated file upload disconnections, causing denial of service. Organizations running Fastify applications with the saveRequestFiles() API face potential service unavailability and operational disruption if unpatched.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 80% exploitable
Prevalence
Medium
popular Fastify plugin for multipart file upload handling
Social Media
2
Sightings
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

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

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