GHSA-xjh9-v7x6-24jw

    Dashboard / Vulnerabilities / GHSA-xjh9-v7x6-24jw

    GHSA-xjh9-v7x6-24jw

    Published: 2 Oct 2026Last Modified: 2 Oct 2026

    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.

    Affected packages

    Package

    Name: @fastify/busboy

    Purl: pkg:npm/%40fastify/busboy

    Affected ranges

    Type: SEMVER

    Events:

    Introduced- 3.1.0
    Fixed -3.2.1

    Affected versions

    Common Vulnerability Scoring System

    Attack Vector
    Network
    Adjacent
    Local
    Physical
    Privileges Required
    None
    Low
    High
    User Interaction
    None
    Required
    Scope
    Unchanged
    Changed
    Confidentiality
    None
    Low
    High
    Integrity
    None
    Low
    High
    Availability
    None
    Low
    High
    GHSA-xjh9-v7x6-24jw | CVE-DB