GHSA-x8mw-p69m-v3mx

    Dashboard / Vulnerabilities / GHSA-x8mw-p69m-v3mx

    GHSA-x8mw-p69m-v3mx

    Published: 2 Oct 2026Last Modified: 2 Oct 2026

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

    Details: ### 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

    Package

    Name: @fastify/busboy

    Purl: pkg:npm/%40fastify/busboy

    Affected ranges

    Type: SEMVER

    Events:

    Introduced- 1.0.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-x8mw-p69m-v3mx | CVE-DB