Skip to main content

@fastify/multipart CVE-2026-117531

| EUVDEUVD-2026-115125 MEDIUM
Uncontrolled Resource Consumption (CWE-400)
2026-11-02 openjs
5.9
CVSS 3.1 · Vendor: openjs
View

Attack ChainAIDerived

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

  1. Access
    Identify route with delayed file consumer
  2. Delivery
    Send malformed multipart body with no closing boundary
  3. Exploit
    File stream destroyed without error or end
  4. Execution
    Request never responds, connection stays open
  5. Persist
    Repeat uploads to accumulate pending connections
  6. Impact
    Exhaust server resources (DoS)

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource consumption limits
MITRE ATT&CK

1 technique across 1 tactic: Impact

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the target application to define an upload route whose handler iterates request parts via request.parts() and performs asynchronous work BEFORE consuming part.file (e.g. attaching pipeline() or toBuffer() to the file stream after an await) - this delayed-consumer pattern is the exact prerequisite named in the advisory. The attacker then sends a multipart body that ends inside a file part with no closing boundary, with a complete Content-Length, without aborting the connection and without exceeding any fileSize limit. Limiting factors: the flaw is availability-only (no data exposure or modification); it does NOT affect handlers that consume the file stream immediately or applications not using @fastify/multipart's streaming parts API; and it affects only versions 5.3.0 through 10.1.6. No authentication or user interaction is required (PR:N/UI:N).

Impact

This is a medium-severity (CVSS 5.9) availability-only denial-of-service issue in @fastify/multipart, and the signals consistently point to a real-but-conditional risk rather than an emergency. The CVSS vector (AV:N/AC:H/PR:N/UI:N) shows a network-reachable, unauthenticated flaw with no confidentiality or integrity impact and high availability impact - high attack complexity reflects that exploitation is not universal but depends on the application's code pattern. No EPSS score was supplied, the CVE is not in CISA KEV (no active exploitation confirmed), and no public exploit or PoC reference is present - only the GHSA advisory and the OpenJSF CNA page. The vuln.today decision label is 'this_month', which aligns with patch-on-a-normal-cycle urgency rather than act_now/emergency. The key limiting factor, stated explicitly in the advisory, is that the hang only occurs when a handler uses request.parts() and performs asynchronous work BEFORE consuming part.file (a delayed file consumer); applications that consume the file stream immediately are not affected. This is therefore a genuine priority for the subset of Fastify deployments using the vulnerable pattern, but a low real-world risk for the majority that do not.

Exploit ScenarioDerived

An unauthenticated remote attacker sends a multipart/form-data upload to a vulnerable route where the handler iterates request.parts() and does asynchronous work before consuming the file stream. The malformed body ends inside a file part with a complete Content-Length but no closing boundary, so the plugin destroys the file stream without emitting error or end, leaving the request hanging and the connection open. The attacker repeats these requests to accumulate pending connections and exhaust server resources. No public exploit code was identified at time of analysis.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available

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

Alert me

AnalysisAIv1 – Nov 02, 2026

Denial of service in @fastify/multipart 5.3.0 through 10.1.6 allows an unauthenticated remote client to hang upload requests when an application handler performs asynchronous work before consuming a file stream. Malformed multipart bodies that end inside a file part without a closing boundary cause the plugin to destroy the in-progress stream without an error, leaving delayed consumers such as pipeline() or toBuffer() waiting indefinitely and keeping connections open; repeated requests can exhaust server resources. This is availability-only and conditional on the delayed-consumer pattern, with no public exploit identified at time of analysis and a vendor fix in 10.1.7.

RemediationAI

Vendor-released patch: 10.1.7. Upgrade @fastify/multipart to 10.1.7 or later; the parser error from a malformed body is then propagated to the file stream so a delayed consumer settles with an error instead of hanging. The advisory states there is no workaround other than upgrading. See https://github.com/fastify/fastify-multipart/security/advisories/GHSA-5849-5m6q-9632 and https://cna.openjsf.org/security-advisories.html.

Affected VersionsENISA

@fastify/multipart 5.3.0 <10.1.7

Affected Packages

euvd fastify_multipart fix: 10.1.7

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 issue is in @fastify/multipart, the multipart/form-data and file-upload plugin for the Fastify web framework, versions 5.3.0 through 10.1.6, tracked as CWE-400 (Uncontrolled Resource Consumption). The malformed body ends inside a file part with no closing boundary even though Content-Length is complete, the client does not abort, and no fileSize limit is exceeded; instead of propagating a parser error, the plugin destroys the in-progress file stream without an error. Handlers that call request.parts(), await asynchronous work, and only then attach pipeline() or toBuffer() to part.file receive a stream that never emits error or end, so the request never responds and the connection remains open. This is an availability-only flaw: the trigger requires the application's delayed file-consumer pattern, it does not affect handlers that consume the file stream immediately or applications that do not use the streaming parts API, and there is no impact on confidentiality or integrity. CPE cpe:2.3:a:@fastify/multipart:@fastify/multipart:*:*:*:*:*:*:*:* identifies the package.

Know when Fastify Multipart 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 (openjs) PRIMARY 5.9 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI 5.9 MEDIUM

Network-reachable and unauthenticated (AV:N/PR:N/UI:N); AC:H because exploitation depends on the application using a delayed file consumer; availability-only impact, so C:N/I:N/A:H.

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

Primary rating from Vendor (openjs).

CVSS VectorVendor: openjs

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

Lifecycle Timeline

1
Patch available
Nov 02, 2026 - 12:16 EUVD

DescriptionCVE.org

@fastify/multipart is the multipart form-data and file upload plugin for the Fastify web framework. In versions 5.3.0 through 10.1.6, the plugin does not propagate a parser error to the file stream when a request body ends inside a file part with no closing boundary, even though the Content-Length is complete, the client does not abort, and no file size limit is exceeded. The plugin destroys the in-progress file stream without an error, so a handler that iterates the request parts and performs asynchronous work before consuming the file attaches to a stream that never emits an error or end event, and the request never responds while the connection stays open. An unauthenticated remote client can repeat these malformed uploads against such a route to accumulate pending connections and exhaust server resources, so the impact is availability only and exploitation depends on the application using a delayed file consumer. The issue is fixed in @fastify/multipart 10.1.7, where the parser error is propagated to the file stream so a delayed consumer settles with an error instead of hanging, and users should upgrade to 10.1.7 or later. There is no workaround other than upgrading.

Threat Intelligence Overview

Prevalence
Medium
popular file-upload plugin, but only within Fastify Node.js deployments
Social Media
3
Sightings
Data Quality
5 sources
Confidence: Medium

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 MEDIUM
CISA KEV No
Public POC No
EPSS N/A
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

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

Attack Technique

Malicious file upload attacks exploit insufficient validation when web applications accept user-provided files.

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

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