CVE-2026-74866: @fastify/busboy CRLF injection in multipart headers

CVE-2026-74866 · Severity: medium · CVSS 5.8 · Published 2026-08-21

@fastify/busboy is a Node.js library that parses multipart form data uploads. The library fails to strip bare carriage return and line feed characters from filenames and field names, allowing attackers to inject these control characters into downstream systems. An attacker uploading a file with embedded CR/LF characters in the filename could pollute saved filenames, forge log entries, or inject headers into backend systems that process the data.

Technologies: Fastify @Fastify/Busboy, @fastify/busboy (npm). Vendors: Fastify, npm.

Quick answers

Is CVE-2026-74866 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-74866 being exploited in the wild.
How severe is CVE-2026-74866?
Medium severity, with a CVSS score of 5.8, published 21 August 2026.
Which products and versions are affected?
Fastify @Fastify/Busboy < 3.2.2; @fastify/busboy (npm) < 3.2.2, SEMVER:introduced=0,fixed=3.2.2.
Is there a fix for CVE-2026-74866?
Yes. @fastify/busboy (npm): upgrade to 3.2.2 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-74866 attacked?
It is attacked over the network.
Am I affected by CVE-2026-74866?
Check whether you run Fastify @Fastify/Busboy, Fastify Busyboy or @fastify/busboy (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • @fastify/busboy (npm): upgrade to 3.2.2 or later
    npm install @fastify/busboy@3.2.2

Technical details

The vulnerability is a CRLF injection (CWE-93) in the multipart part-header parser. The parser treats only the two-byte \r\n sequence as a line terminator, so a lone CR or LF character embedded within a header value is passed verbatim to the application in the filename or field name delivered via the file and field events. An attacker can craft a multipart upload with a filename or field name containing bare CR or LF bytes to inject control characters. No authentication or special privileges are required; the attack is purely network-based. Affected versions are @fastify/busboy 3.2.1 and earlier. Version 3.2.2 fixes the issue by rejecting any header line that still contains bare CR or LF characters.

Affected products

  • fastify @fastify/busboy < 3.2.2

Identifiers

  • CVE-2026-74866
  • GHSA-gxm5-99cw-xjw9

Timeline

  • 2026-08-21: disclosed
  • 2026-08-21: patched: version 3.2.2

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.