All vulnerabilities
CVE-2026-19481GHSA-x8mw-p69m-v3mx

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

@fastify/busboy @fastify/busboynpmFrameworks
CVSS
7.5High
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.49%Chance of exploitation activity in the next 30 days, higher than 41% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in3.2.1Fixed versionGitHub
Published13 Aug 2026Updated 2 Oct 2026CVE List

What fixes it

  • 3.2.1@fastify/busboy, npmGitHubnpm install @fastify/busboy@3.2.1
  • 3.2.1@fastify/busboyCVE List

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

Impact

Versions of @fastify/busboy from 1.0.0 and prior to 3.2.1 are vulnerable to a Denial of Service. The multipart header parser stores part-header names on a plain JavaScript object, so a part header named __proto__ or constructor resolves to an inherited value that is not an array, and the parser throws TypeError: this.header[h].push is not a function. Through the documented req.pipe(busboy) integration this surfaces as an error event, while direct write()/end() usage throws synchronously and can terminate the Node.js process if uncaught. The parser runs before application middleware, so any unauthenticated client that can submit multipart/form-data is affected.

Patches

Fixed in version 3.2.1.

Workarounds

Attach an error listener to the Busboy stream so the parser failure is handled rather than crashing the process, and wrap direct write()/end() calls in a try/catch. Upgrading to 3.2.1 removes the failure entirely.

Text from GitHub Advisory Database

Affected versions 4

  • @fastify/busboy, npm>= 1.0.0, < 3.2.1GitHub
  • @fastify/busboyaffected: 1.0.0 before 3.2.1CVE List
  • @fastify/busboyunaffected: 3.2.1CVE List
  • @fastify/busboy, npmfrom 1.0.0, fixed in 3.2.1OSV

References 6