{"answers":{"affected":"2 open source packages ship an affected version, including @fastify/busboy. It affects 1 product.","exploited":"There is no known exploitation of CVE-2026-19484 in the wild and no public exploit code.","fix":"Upgrade @fastify/busboy to 3.2.1 or later.","what":"CVE-2026-19484 is a high-severity denial of service vulnerability in @fastify/busboy, published on 13 Aug 2026. An attacker can exploit it over the internet without logging in, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-19484 and fix it if it is affected.\n\nWhat it is: CVE-2026-19484 is a high-severity denial of service vulnerability in @fastify/busboy, published on 13 Aug 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2026-19484 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- @fastify/busboy (npm): affected from 3.1.0; fixed in 3.2.1\n- @fastify/busboy (npm): affected from 3.1.0; fixed in 3.2.1\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-19484/ (Markdown: https://insights.sbomify.com/CVE-2026-19484/index.md)","id":"CVE-2026-19484","markdown":"https://insights.sbomify.com/CVE-2026-19484/index.md","name":"CVE-2026-19484","record":{"aliases":["GHSA-xjh9-v7x6-24jw","MINI-2hp9-5x3q-wm7h","ROOT-APP-NPM-CVE-2026-19484"],"analysis":{"component_type":"library","fix_type":"upgrade","impacts":["denial_of_service"],"network_reachable":"yes","non_default_config":false,"product_category":"Node.js multipart parser","requires_auth":"none","summary":"Remote attackers can cause denial of service by sending crafted multipart requests that stall the Node.js event loop in the @fastify/busboy library.","user_interaction":"not_required","vuln_class":"denial_of_service"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"openjs","cpe":[{"product":"fastify\\/busyboy","vendor":"fastify"}],"cvss":{"score":7.5,"severity":"high","source":"cna","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","version":"3.1"},"cwes":[{"id":"CWE-835","name":"Loop with Unreachable Exit Condition"},{"id":"CWE-1322","name":"Use of Blocking Code in Single-threaded, Non-blocking Context"}],"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.","ecosystems":["npm"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":true,"headline":"@fastify/busboy vulnerable to Denial of Service via oversized multipart boundary","id":"CVE-2026-19484","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"npm","product":null,"products":[],"type":"denial_of_service","year":"2026"},"n_packages":2,"n_references":2,"next":{"headline":"Bucket Squatting in Vertex AI Search for Commerce","id":"CVE-2026-19485"},"packages":[{"ecosystem":"npm","fixed":["3.2.1"],"introduced":["3.1.0"],"last_affected":[],"package":"@fastify/busboy","purl":null,"source":"GHSA-xjh9-v7x6-24jw"},{"ecosystem":"npm","fixed":["3.2.1"],"introduced":["3.1.0"],"last_affected":[],"package":"@fastify/busboy","purl":"pkg:npm/%40fastify/busboy","source":"GHSA-xjh9-v7x6-24jw"}],"prev":{"headline":"Information disclosure in Storage Scale","id":"CVE-2026-19483"},"products":["@fastify/busboy"],"published":"2026-08-13","related":[{"cvss_score":7.5,"headline":"@fastify/busboy vulnerable to Denial of Service via prototype-named multipart part header","id":"CVE-2026-19481","kev_date_added":null,"published":"2026-08-13"},{"cvss_score":5.8,"headline":"@fastify/busboy vulnerable to CRLF injection via multipart Content-Disposition filename and name","id":"CVE-2026-74866","kev_date_added":null,"published":"2026-08-21"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"yes","exploitation":"none","technical_impact":"partial"},"state":"PUBLISHED","updated":"2026-08-13","vendors":["@fastify/busboy"]},"summary":"Remote attackers can cause denial of service by sending crafted multipart requests that stall the Node.js event loop in the @fastify/busboy library.","url":"https://insights.sbomify.com/CVE-2026-19484/"}