CVE-2026-74866
@fastify/busboy vulnerable to CRLF injection via multipart Content-Disposition filename and name
Description
@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.
INFO
Published Date :
Aug. 21, 2026, 9:16 a.m.
Last Modified :
Oct. 16, 2026, 3:10 p.m.
Remotely Exploit :
No
Source :
ce714d77-add3-4f53-aff5-83d477b104bb
CVSS Scores
| Score | Version | Severity | Vector | Exploitability Score | Impact Score | Source |
|---|---|---|---|---|---|---|
| CVSS | 134c704f-9b21-4f2e-91b3-4a467353bcc0 | |||||
| CVSS 3.1 | MEDIUM | ce714d77-add3-4f53-aff5-83d477b104bb | ||||
| CVSS 3.1 | MEDIUM | MITRE-CVE |
Solution
- Upgrade @fastify/busboy to version 3.2.2.
- Ensure dependent packages update their dependency.
- Validate parsed header values for control characters.
- Reject input with bare carriage returns or line feeds.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2026-74866.
| URL | Resource |
|---|---|
| https://cna.openjsf.org/security-advisories.html | Third Party Advisory |
| https://github.com/fastify/busboy/security/advisories/GHSA-gxm5-99cw-xjw9 | Vendor Advisory |
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2026-74866 is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2026-74866
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2026-74866 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2026-74866 vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
CVE Translated by [email protected]
Oct. 16, 2026
Action Type Old Value New Value Added Translation Title: @fastify/busboy, Description: @fastify/busboy es un analizador de datos de formulario multipart para Node.js. Su analizador de encabezados de parte multipart divide las líneas de encabezado solo en la secuencia de dos bytes de retorno de carro y salto de línea, por lo que un retorno de carro o salto de línea solitario incrustado en un encabezado de parte no se trata como un salto de línea y se transfiere textualmente al nombre de archivo y nombre de campo de Content-Disposition analizados entregados a la aplicación. Un atacante que carga un archivo cuyo nombre de archivo o nombre de campo contiene un retorno de carro o salto de línea simple puede inyectar caracteres de control en consumidores que confían en que el analizador devuelva valores limpios, lo que permite la contaminación de nombres de archivo del sistema de archivos, la falsificación de registros o la inyección de encabezados cuando el valor se reenvía a un sumidero sensible al retorno de carro. Todas las versiones de @fastify/busboy hasta la 3.2.1 inclusive están afectadas. El problema está solucionado en la versión 3.2.2, la cual rechaza cualquier línea de encabezado que aún contenga un retorno de carro o salto de línea simple. Los usuarios deben actualizar a la versión 3.2.2, y los consumidores, como @fastify/multipart, deben actualizar su dependencia de @fastify/busboy para incorporar la solución. -
Initial Analysis by [email protected]
Sep. 08, 2026
Action Type Old Value New Value Added CPE Configuration OR *cpe:2.3:a:fastify:fastify/busyboy:*:*:*:*:*:node.js:*:* versions up to (excluding) 3.2.2 Added Reference Type openjs: https://cna.openjsf.org/security-advisories.html Types: Third Party Advisory Added Reference Type openjs: https://github.com/fastify/busboy/security/advisories/GHSA-gxm5-99cw-xjw9 Types: Vendor Advisory -
CVE Modified by 134c704f-9b21-4f2e-91b3-4a467353bcc0
Aug. 21, 2026
Action Type Old Value New Value Added SSVC {'id': 'CVE-2026-74866', 'role': 'CISA Coordinator', 'options': [{'exploitation': 'none'}, {'automatable': 'yes'}, {'technicalImpact': 'partial'}], 'version': '2.0.3', 'timestamp': '2026-08-21T12:35:38.937723Z'} -
New CVE Received by ce714d77-add3-4f53-aff5-83d477b104bb
Aug. 21, 2026
Action Type Old Value New Value Added Affected [{'vendor': '@fastify/busboy', 'product': '@fastify/busboy', 'versions': [{'status': 'affected', 'version': '0', 'lessThan': '3.2.2', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '3.2.2', 'versionType': 'semver'}], 'packageURL': 'pkg:npm/@fastify/busboy', 'defaultStatus': 'unaffected'}] Added Description @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. Added CVSS V3.1 AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N Added CWE CWE-93 Added Reference https://cna.openjsf.org/security-advisories.html Added Reference https://github.com/fastify/busboy/security/advisories/GHSA-gxm5-99cw-xjw9