Skip to main content

@fastify/busboy CVE-2026-19481

| EUVDEUVD-2026-57757 HIGH
Improper Check for Unusual or Exceptional Conditions (CWE-754)
2026-08-13 openjs GHSA-x8mw-p69m-v3mx
7.5
CVSS 3.1 · Vendor: openjs
Share

Severity by source

Vendor (openjs) 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 endpoint, no credentials or interaction needed, crash-only impact with no data exposure or integrity loss.

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
SUSE
HIGH
qualitative
Red Hat
7.5 HIGH
qualitative

Primary rating from Vendor (openjs).

CVSS VectorVendor: openjs

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

Lifecycle Timeline

3
Patch available
Aug 13, 2026 - 10:01 EUVD
Analysis Generated
Aug 13, 2026 - 09:31 vuln.today
CVE Published
Aug 13, 2026 - 08:31 cve.org
HIGH 7.5

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 18 npm packages depend on @fastify/busboy (7 direct, 11 indirect)

Ecosystem-wide dependent count for version 1.0.0.

DescriptionCVE.org

@fastify/busboy is a multipart form-data parser. In versions 1.0.0 through 3.2.0, an attacker who can submit multipart form-data can crash the parser by sending a part header whose name is a prototype-inherited property such as __proto__ or constructor. The internal header parser stores headers in a plain JavaScript object and assumes each value is an array, so an inherited property name resolves to a truthy non-array value and triggers a TypeError. In the common pipe integration the failure surfaces as an error event, but in direct write or end usage the exception is thrown synchronously and can terminate the Node.js process, causing an unauthenticated denial of service. The issue is fixed in @fastify/busboy 3.2.1, which creates the header object with a null prototype. Users should upgrade to 3.2.1.

AnalysisAI

Unauthenticated denial of service in @fastify/busboy versions 1.0.0 through 3.2.0 allows any network attacker to crash the Node.js process by submitting a multipart form with a header whose name collides with a prototype-inherited JavaScript property such as __proto__ or constructor. The internal header store uses a plain object inheriting from Object.prototype, so the inherited property resolves to a truthy non-array value that triggers a synchronous TypeError when array methods are invoked on it; in direct write/end usage paths this exception propagates uncaught and terminates the process. No public exploit code has been identified at time of analysis, but the attack is trivially constructable given the detailed advisory.

Technical ContextAI

The affected component is the multipart/form-data parsing library @fastify/busboy (CPE: cpe:2.3:a:@fastify/busboy:@fastify/busboy:*:*:*:*:*:*:*:*), the Fastify-maintained fork of the older busboy package, widely used in Node.js web applications to handle file uploads and form submissions. The root cause is classified as CWE-754 (Improper Check for Unusual or Exceptional Conditions): the internal header accumulation logic allocates a bare JavaScript object literal {} to store part headers by name. Because this object inherits from Object.prototype, property lookups for names like __proto__, constructor, or toString return truthy, non-array built-in values rather than undefined or an empty array. Downstream code assumes these slots contain arrays and calls array methods on them, triggering a TypeError. The behavior diverges by integration path: the pipe-based integration emits an error event that a well-written application could catch, but direct calls to write() or end() throw synchronously with no try/catch boundary, causing an unhandled exception that terminates the Node.js process. The fix in 3.2.1 creates the header object via Object.create(null), establishing a null prototype and eliminating inherited property interference.

RemediationAI

Vendor-released patch: @fastify/busboy 3.2.1. The fix is confirmed in the OpenJS Foundation security advisory at https://github.com/fastify/busboy/security/advisories/GHSA-x8mw-p69m-v3mx and referenced at https://cna.openjsf.org/security-advisories.html. Upgrade immediately by running npm install @fastify/busboy@3.2.1 or updating the version constraint in package.json. If upgrading is temporarily blocked, a compensating control is to add an application-level multipart size and header-count limit upstream of the parser (e.g., via a WAF or reverse proxy rule that rejects multipart requests containing headers with names matching __proto__, constructor, or other prototype keys). Be aware that this filter approach is brittle - encoding variants may bypass naive string matching - and it does not substitute for the patch. Another partial mitigation for direct write/end callers is to wrap the call in a try/catch and return an HTTP 400, preventing process termination at the cost of additional application-layer code; this does not apply to the pipe integration.

CVE-2024-41713 CRITICAL POC
9.1 Oct 21

A vulnerability in the NuPoint Unified Messaging (NPM) component of Mitel MiCollab through 9.8 SP1 FP2 (9.8.1.201) could

CVE-2024-55591 CRITICAL POC
9.8 Jan 14

FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote

CVE-2023-44487 HIGH POC
7.5 Oct 10

Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour

CVE-2014-7205 CRITICAL POC
10.0 Oct 08

Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t

CVE-2025-59528 CRITICAL POC
10.0 Sep 22

Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete

CVE-2017-14849 HIGH POC
7.5 Sep 28

Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc

CVE-2017-5941 CRITICAL POC
9.8 Feb 09

An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner

CVE-2014-0224 HIGH POC
7.4 Jun 05

OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph

CVE-2014-3744 HIGH POC
7.5 Oct 23

Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi

CVE-2014-9566 HIGH POC
7.5 Mar 10

Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin

CVE-2013-4660 MEDIUM POC
6.8 Jun 28

The JS-YAML module before 2.0.5 for Node.js parses input without properly considering the unsafe !!js/function tag, whic

CVE-2016-2107 MEDIUM POC
5.9 May 05

The AES-NI implementation in OpenSSL before 1.0.1t and 1.0.2 before 1.0.2h does not consider memory allocation during a

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise High Performance Computing 12 Not-Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Not-Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Not-Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Not-Affected

Share

CVE-2026-19481 vulnerability details – vuln.today

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