Skip to main content

@fastify/busboy CVE-2026-74866

| EUVDEUVD-2026-63829 MEDIUM
Improper Neutralization of CRLF Sequences ('CRLF Injection') (CWE-93)
2026-08-21 openjs GHSA-gxm5-99cw-xjw9
5.8
CVSS 3.1 · Vendor: openjs
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Send multipart POST with crafted filename
  2. Delivery
    Parser passes bare CR/LF verbatim
  3. Exploit
    Application forwards tainted value to sink
  4. Execution
    Inject into HTTP header or log line
  5. Impact
    Log forging or header injection achieved

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization CRLF sequence sanitization
Exploitation Conditions

The application must accept multipart/form-data uploads handled by @fastify/busboy version 3.2.1 or earlier, and must subsequently forward the parsed filename or field name to a carriage-return-or-line-feed-sensitive sink - such as an HTTP response header, a log writer that treats newlines as record separators, or a filesystem path constructor. Exploitation is unauthenticated (PR:N) and requires no user interaction. The limiting factor is the downstream sink: if the application never reflects or logs the raw filename value, there is no exploitable path despite the parser flaw. Deployments that validate or sanitize field names and filenames at the application layer before use are also substantially protected.

Impact

The CVSS 3.1 score of 5.8 (AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N) accurately captures the network-reachable, zero-prerequisites nature of the flaw, though the low integrity rating may understate real-world impact in deployments that forward filenames directly into HTTP responses or structured log pipelines. No EPSS data was supplied, and the vulnerability is not listed in CISA KEV, suggesting it has not yet been observed in active campaigns. The practical severity is heavily context-dependent: an application that writes the raw filename into a log or reflects it in a Content-Disposition response header is meaningfully exposed, while one that never surfaces the value beyond its own internal processing faces minimal risk. The absence of a POC and KEV listing argues against treating this as an emergency for most teams, but the zero-privilege, network-accessible attack vector means that any deployment where the filename flows into a CR/LF-sensitive sink should prioritize the upgrade to 3.2.2. No conflicting signals exist in the available data - CVSS vector and description are consistent.

Exploit ScenarioDerived

An attacker sends a multipart/form-data HTTP POST request to a Fastify endpoint where the file upload part's Content-Disposition header contains a filename with an embedded bare line feed - for example, filename="report\nX-Injected-Header: evil". The @fastify/busboy parser passes this tainted string to the application unchanged. If the application echoes the filename in an HTTP response header or appends it to an application log line, the injected \n causes header splitting or log record forging. No public POC has been identified, but the attack requires only a crafted HTTP request and no authentication.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 21, 2026

CRLF injection in @fastify/busboy's multipart part-header parser allows unauthenticated remote attackers to embed bare carriage return or line feed characters into parsed Content-Disposition filenames and field names, which are then handed to applications as if they were clean values. All versions through 3.2.1 are affected; the fix is in 3.2.2. When applications forward these tainted values to CR/LF-sensitive sinks - HTTP response headers, log systems, or filesystem paths - attackers can achieve log forging, HTTP header injection, or filesystem filename pollution. No public exploit or CISA KEV listing has been identified at time of analysis.

RemediationAI

Vendor-released patch: 3.2.2. Upgrade @fastify/busboy to version 3.2.2, which rejects any part header line that still contains a bare carriage return or line feed after splitting. Projects that depend on @fastify/multipart should ensure their package resolution pulls in @fastify/busboy 3.2.2 or later - this may require explicitly bumping the transitive dependency via npm overrides or yarn resolutions if the parent package has not yet released a compatible update. Advisory: https://github.com/fastify/busboy/security/advisories/GHSA-gxm5-99cw-xjw9. If an immediate upgrade is not possible, a compensating control is to sanitize Content-Disposition header values at the application layer by stripping or rejecting any field name or filename containing \r or \n before forwarding the value to any downstream sink; this adds a defense-in-depth layer but does not fix the parser and may miss edge cases, so it should be treated as temporary.

Affected VersionsENISA

@fastify/busboy 0 <3.2.2

Affected Packages

npm @fastify/busboy fix: 3.2.2
euvd fastify_busboy fix: 3.2.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in npm, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The affected component is @fastify/busboy (CPE: cpe:2.3:a:@fastify/busboy:@fastify/busboy:*:*:*:*:*:*:*:*), the multipart/form-data parser used by Fastify's ecosystem, including @fastify/multipart. The root cause is CWE-93 (Improper Neutralization of CRLF Sequences): the header-line tokenizer recognizes only the two-byte CRLF sequence (\r\n) as a line delimiter and passes lone \r or \n bytes through verbatim into parsed field values. Applications that subsequently embed these values into HTTP headers, log lines, or filesystem paths inherit the injected control characters. The scope change (S:C in CVSS) reflects that the vulnerable component - the parser - is distinct from the components (log writers, HTTP routers, file systems) that suffer the actual integrity impact.

Know when Node.js gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (openjs) PRIMARY 5.8 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N
vuln.today AI 5.8 MEDIUM

Network upload endpoint, no auth needed, scope changes to downstream sinks; only integrity affected at low level via injection.

3.1 AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N
SUSE MEDIUM
Red Hat 5.8 MEDIUM

Primary rating from Vendor (openjs).

CVSS VectorVendor: openjs

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Changed
Confidentiality
None
Integrity
Low
Availability
None

Lifecycle Timeline

1
Patch available
Aug 21, 2026 - 09:16 EUVD

DescriptionCVE.org

@fastify/busboy is a multipart form-data parser for Node.js. Its multipart part-header parser splits header lines only on the two-byte carriage-return line-feed sequence, so a lone carriage return or line feed embedded in a part header is not treated as a line break and is carried verbatim into the parsed Content-Disposition filename and field name handed to the application. An attacker who uploads a file whose filename or field name contains a bare carriage return or line feed can inject control characters into consumers that trust the parser to return clean values, enabling filesystem filename pollution, log forging, or header injection when the value is forwarded to a carriage-return-sensitive sink. All versions of @fastify/busboy up to and including 3.2.1 are affected. The issue is fixed in version 3.2.2, which rejects any header line that still contains a bare carriage return or line feed. Users should upgrade to 3.2.2, and consumers such as @fastify/multipart should bump their @fastify/busboy dependency to pull in the fix.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 3 npm packages depend on @fastify/busboy (3 direct, 0 indirect)

Ecosystem-wide dependent count for version 3.2.2.

Threat Intelligence Overview

EPSS Score
0.2%
Top 91% exploitable
Prevalence
Medium
popular Node.js Fastify ecosystem parser, not universal
Threat Intel
1
1 source
Social Media
1
Sightings
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor CIRCL GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

29
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +29
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2025-68613 HIGH POC
8.8 Dec 19

Remote code execution in n8n's workflow expression evaluation system allows an authenticated user with workflow creation

CVE-2024-41713 CRITICAL POC
9.1 Oct 21

A vulnerability in the NuPoint Unified Messaging (NPM) component of Mitel MiCollab through 9.8 SP1 FP2 (9.8.1.201) could

CVE-2024-55591 CRITICAL POC
9.8 Jan 14

FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote

CVE-2023-44487 HIGH POC
7.5 Oct 10

Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour

CVE-2014-7205 CRITICAL POC
10.0 Oct 08

Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t

CVE-2025-59528 CRITICAL POC
10.0 Sep 22

Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete

CVE-2017-14849 HIGH POC
7.5 Sep 28

Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc

CVE-2017-5941 CRITICAL POC
9.8 Feb 09

An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner

CVE-2014-0224 HIGH POC
7.4 Jun 05

OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph

CVE-2014-3744 HIGH POC
7.5 Oct 23

Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi

CVE-2014-9566 HIGH POC
7.5 Mar 10

Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin

CVE-2013-4660 MEDIUM POC
6.8 Jun 28

The JS-YAML module before 2.0.5 for Node.js parses input without properly considering the unsafe !!js/function tag, whic

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise High Performance Computing 12 Not-Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Not-Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Not-Affected
SUSE Linux Enterprise Module for Web and Scripting 15 SP7 Not-Affected
SUSE Linux Enterprise Module for Web and Scripting 15 SP7 Not-Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy