CVE-2026-19481: @fastify/busboy vulnerable to Denial of Service via prototype-named multipart part header
@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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
@fastify/busboyto a version that resolves this vulnerability.Fixed in 3.2.1
Event History
Frequently Asked Questions
What is the severity of CVE-2026-19481?
CVE-2026-19481 has a severity rating of high, with a score of 7.5.
How do I fix CVE-2026-19481?
To fix CVE-2026-19481, upgrade @fastify/busboy to version 3.2.1 or later.
What types of attacks does CVE-2026-19481 enable?
CVE-2026-19481 enables Denial of Service attacks by crashing the multipart form-data parser.
Which versions of @fastify/busboy are affected by CVE-2026-19481?
CVE-2026-19481 affects @fastify/busboy versions from 1.0.0 through 3.2.0.
What kind of data can an attacker submit to exploit CVE-2026-19481?
An attacker can exploit CVE-2026-19481 by submitting multipart form-data with part headers named after prototype-inherited properties like __proto__ or constructor.