GHSA-xjh9-v7x6-24jw

Suggest an improvement
Source
https://github.com/advisories/GHSA-xjh9-v7x6-24jw
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/10/GHSA-xjh9-v7x6-24jw/GHSA-xjh9-v7x6-24jw.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-xjh9-v7x6-24jw
Aliases
Published
2026-10-02T23:16:17Z
Modified
2026-10-02T23:30:05Z
Severity
  • 7.5 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H CVSS Calculator
Summary
@fastify/busboy vulnerable to Denial of Service via oversized multipart boundary
Details

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.

Database specific
{
    "cwe_ids":  [
        "CWE-1322",
        "CWE-835"
    ],
    "github_reviewed":  true,
    "github_reviewed_at":  "2026-10-02T23:16:17Z",
    "nvd_published_at":  "2026-08-13T10:17:11Z",
    "severity":  "HIGH"
}
References

Affected packages

npm / @fastify/busboy

Package

Name
@fastify/busboy
View open source insights on deps.dev
Purl
pkg:npm/%40fastify/busboy

Affected ranges

Type
SEMVER
Events
Introduced
3.1.0
Fixed
3.2.1

Database specific

source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/10/GHSA-xjh9-v7x6-24jw/GHSA-xjh9-v7x6-24jw.json"