CVE-2026-19484
Received Received - Intake

Denial of Service in @fastify/busboy via Boundary Length

Vulnerability report for CVE-2026-19484, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-13

Last updated on: 2026-08-13

Assigner: openjs

Description

@fastify/busboy is a multipart form-data parser. In versions 3.1.0 through 3.2.0, a remote unauthenticated attacker can stall the Node.js event loop by sending a multipart request whose boundary is crafted to a specific length. The vendored streaming search stores its skip table in a fixed 256 entry byte array, and a boundary of exactly 252 bytes makes the search needle 256 bytes, which truncates the default skip distance to zero and turns the search into a CPU bound loop on a small body. A single small request can keep one core busy and deny service to other requests handled by the same process. The issue is fixed in @fastify/busboy 3.2.1, which widens the skip table so the skip distance is preserved. Users should upgrade to 3.2.1.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-13
Last Modified
2026-08-13
Generated
2026-08-13
AI Q&A
2026-08-13
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 2 associated CPEs
Vendor Product Version / Range
fastify busboy From 3.1.0 (inc) to 3.2.1 (exc)
fastify busboy 3.2.1

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-835 The product contains an iteration or loop with an exit condition that cannot be reached, i.e., an infinite loop.
CWE-1322 The product uses a non-blocking model that relies on a single threaded process for features such as scalability, but it contains code that can block when it is invoked.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability affects the @fastify/busboy package versions 3.1.0 through 3.2.0. An unauthenticated attacker can send a specially crafted multipart request with a boundary of exactly 252 bytes to stall the Node.js event loop. This causes an infinite loop in the streaming search, consuming CPU resources and denying service to other requests.

Detection Guidance

To detect this vulnerability, monitor for unusually high CPU usage on your Node.js server when handling multipart requests. Check if the server becomes unresponsive after receiving requests with large boundaries. Use tools like 'top' or 'htop' to observe CPU spikes. Inspect application logs for stalled requests or timeouts during multipart parsing.

Impact Analysis

The vulnerability allows a remote attacker to perform a Denial of Service (DoS) attack. A single crafted request can keep one CPU core busy indefinitely, making the application unresponsive to other users. Systems using @fastify/busboy or @fastify/multipart for multipart form-data parsing are affected.

Compliance Impact

This vulnerability primarily causes a Denial of Service (DoS) by stalling the Node.js event loop, making systems unresponsive. For compliance with GDPR or HIPAA, such disruptions could violate availability requirements, potentially leading to unauthorized data access or processing delays. However, the CVE does not explicitly link this issue to specific compliance violations.

Mitigation Strategies

Immediately upgrade @fastify/busboy to version 3.2.1 or later. If upgrading is not possible, implement a workaround by validating multipart boundaries before parsing and rejecting any boundary longer than 70 characters as per RFC 2046. Temporarily block or rate-limit suspicious requests with large boundaries.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-19484. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart