CVE-2026-19481: @fastify/busboy vulnerable to Denial of Service via prototype-named multipart part header
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.
References
- cna.openjsf.org/security-advisories.html
- github.com/advisories/GHSA-x8mw-p69m-v3mx
- github.com/fastify/busboy/commit/957a24b66d5915e6d0a6ac988c9dbcee86373e9b
- github.com/fastify/busboy/releases/tag/v3.2.1
- github.com/fastify/busboy/security/advisories/GHSA-x8mw-p69m-v3mx
- nvd.nist.gov/vuln/detail/CVE-2026-19481
Code Behaviors & Features
Detect and mitigate CVE-2026-19481 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →