Description
@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.
Published: 2026-08-13
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

@fastify/busboy is a multipart form-data parser that incorrectly handles header names that are inheritable properties, such as __proto__ or constructor. When an attacker submits a multipart request containing such a header, the internal header parser stores data in a plain JavaScript object and expects array values. The inherited property resolves to a truthy non-array value, causing a TypeError. In the stream-pipe integration the error is emitted as an event, but when the parser is used directly in a write or end call the exception is thrown synchronously and can terminate the Node.js process, resulting in an unauthenticated denial of service. This weakness is represented by CWE-754 and CWE-915.

Affected Systems

The affected software is the @fastify/busboy multipart form-data parser used in Node.js applications. All released versions from 1.0.0 through 3.2.0 are vulnerable. Version 3.2.1 and later contain the fix that replaces the header object with a null prototype. Applications that depend on any unpatched version of @fastify/busboy are at risk.

Risk and Exploitability

The CVSS v3 base score is 7.5, indicating a high severity denial of service condition. An attacker can trigger the vulnerability by crafting and sending a multipart/form-data HTTP request that includes a header name such as __proto__ or constructor. Since no authentication is required, potentially any external user who can reach the endpoint can cause it, and the exploit would terminate the Node.js process when busboy is used directly with write or end. The EPSS score is 0.278%, and the vulnerability is not listed in the CISA KEV catalog, so no public exploit is known, but the possibility of an untrapped exception makes it a high concern for availability. The crash results only in service interruption with no remote code execution potential.

Generated by OpenCVE AI on August 18, 2026 at 15:42 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade @fastify/busboy to version 3.2.1 or later.
  • If an immediate upgrade is not possible, add an error event listener to the busboy stream (or wrap busboy usage in a try/catch) to catch synchronous exceptions and prevent the Node.js process from terminating.
  • Deploy a process manager or hosting solution that automatically restarts the Node.js application when it crashes to reduce downtime during an exploit.

Generated by OpenCVE AI on August 18, 2026 at 15:42 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 18 Aug 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-915
References
Metrics threat_severity

None

threat_severity

Important


Thu, 13 Aug 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 13 Aug 2026 11:00:00 +0000

Type Values Removed Values Added
First Time appeared Fastify
Fastify busboy
Vendors & Products Fastify
Fastify busboy

Thu, 13 Aug 2026 09:00:00 +0000

Type Values Removed Values Added
Description @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.
Title @fastify/busboy vulnerable to Denial of Service via prototype-named multipart part header
Weaknesses CWE-754
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}


cve-icon MITRE

Status: PUBLISHED

Assigner: openjs

Published:

Updated: 2026-08-13T14:25:29.262Z

Reserved: 2026-08-10T15:38:12.624Z

Link: CVE-2026-19481

cve-icon Vulnrichment

Updated: 2026-08-13T14:25:23.905Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-08-13T09:17:12.573

Modified: 2026-08-28T19:46:29.323

Link: CVE-2026-19481

cve-icon Redhat

Severity : Important

Publid Date: 2026-08-13T08:31:25Z

Links: CVE-2026-19481 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-18T15:45:06Z

Weaknesses
  • CWE-754

    Improper Check for Unusual or Exceptional Conditions

  • CWE-915

    Improperly Controlled Modification of Dynamically-Determined Object Attributes