---
id: CVE-2026-19481
aliases:
  - GHSA-x8mw-p69m-v3mx
title: >-
  @fastify/busboy vulnerable to Denial of Service via prototype-named multipart
  part header
summary: >-
  @fastify/busboy vulnerable to Denial of Service via prototype-named multipart
  part header
severity: high
cvss: 7.5
cwe:
  - CWE-754
vendor: fastify
product: '@fastify/busboy'
ecosystem: npm
affected:
  - '@fastify/busboy >= 1.0.0, < 3.2.1'
patched:
  - '@fastify/busboy 3.2.1'
published: '2026-10-02'
updated: '2026-10-02'
sourceUpdated: '2026-10-02T23:17:27Z'
source: GHSA
sourceUrl: 'https://github.com/advisories/GHSA-x8mw-p69m-v3mx'
references:
  - url: 'https://github.com/fastify/busboy/security/advisories/GHSA-x8mw-p69m-v3mx'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-19481'
  - url: >-
      https://github.com/fastify/busboy/commit/957a24b66d5915e6d0a6ac988c9dbcee86373e9b
  - url: 'https://cna.openjsf.org/security-advisories.html'
  - url: 'https://github.com/fastify/busboy/releases/tag/v3.2.1'
  - url: 'https://github.com/advisories/GHSA-x8mw-p69m-v3mx'
tags:
  - ghsa
  - npm
epss: 0.00493
epssPercentile: 0.40151
ingestedAt: '2026-10-02T23:34:57.391Z'
---

## Overview

### 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.

## Affected packages

- `@fastify/busboy >= 1.0.0, < 3.2.1`

## Remediation

Upgrade to a patched release:

- `@fastify/busboy 3.2.1`
