All vulnerabilities
CVE-2026-19484GHSA-xjh9-v7x6-24jw

@fastify/busboy vulnerable to Denial of Service via oversized multipart boundary

@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.61%Chance of exploitation activity in the next 30 days, higher than 48% 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 3.1.0 and prior to 3.2.1 are vulnerable to a Denial of Service. The vendored streaming multipart search stores its default skip distance in a Uint8Array(256). A multipart boundary of exactly 252 bytes makes the search needle 256 bytes, and the table entry wraps to zero, so a crafted request keeps the search in a CPU-bound loop and stalls the Node.js event loop. An unauthenticated client can trigger this with a single small request. Applications that use @fastify/busboy to parse multipart/form-data, directly or through @fastify/multipart, are affected.

Patches

Fixed in version 3.2.1.

Workarounds

Validate the multipart boundary before parsing and reject any boundary longer than the RFC 2046 limit of 70 characters (for example at a reverse proxy or in an onRequest hook). Upgrading to 3.2.1 removes the issue.

Text from GitHub Advisory Database

Affected versions 4

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

References 6