CVE-2026-19481

@fastify/busboy vulnerable to Denial of Service via prototype-named multipart part header

Published Aug 13, 2026 CVSS 3.1 · 7.5 High EPSS < 1% KEV · Not listed
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.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-x8mw-p69m-v3mx @fastify/busboy vulnerable to Denial of Service via prototype-named multipart part header
History
Type Values Removed Values Added
First Time appeared Fastify fastify\/busyboy
CPEs cpe:2.3:a:fastify:fastify\/busyboy:*:*:*:*:*:node.js:*:*
Vendors & Products Fastify fastify\/busyboy
Type Values Removed Values Added
Metrics ssvc

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

Type Values Removed Values Added
First Time appeared Fastify
Fastify busboy
Vendors & Products Fastify
Fastify busboy
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'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
openjs
Published
Updated
Aug 13, 2026, 2:25 PM
Reserved
Aug 10, 2026, 3:38 PM
Status
Analyzed
Published
Aug 13, 2026, 9:17 AM
Modified
Sep 3, 2026, 7:16 PM
Severity
Important
Public date
Aug 13, 2026, 8:31 AM