{"schemaVersion":3,"id":"CVE-2026-18549","aliases":[],"status":"published","duplicateOf":null,"title":null,"description":"@fastify/multipart is a multipart form-data parser for Fastify. In versions from 5.3.0 up to but not including 10.1.1, when the busboy fileSize limit truncates a file part, the plugin clears its internal current-file reference while the underlying stream is still open. If the client then aborts the connection before sending the terminating boundary, the abort cleanup finds no stream to destroy, so saveRequestFiles() never settles, the request handler hangs, and the temporary file already written to disk is never cleaned up. An unauthenticated client can repeat this to permanently leak temporary files and suspended handler executions, leading to disk and event-loop exhaustion. The issue is fixed in @fastify/multipart 10.1.1. Users should upgrade to 10.1.1.","dates":{"published":"2026-08-15T13:26:53.782Z","modified":"2026-08-17T19:44:01.262Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":7.5,"severity":"high","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":7.5,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":7.5,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00603,"percentile":0.4789,"severity":"low","asOf":"2026-10-20T00:00:00.000Z","change":{"pp":0.263,"baselineDate":"2026-09-20T00:00:00.000Z","baselineScore":0.0034},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.0034,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.0034,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.0034,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.0034,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.0034,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.0034,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.0034,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.0034,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.0034,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.0034,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00603,"percentile":0.4789}],"last30":[{"date":"2026-09-20T00:00:00.000Z","score":0.0034,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.0034,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.0034,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.0034,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00603,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00603,"percentile":0.4789}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-400","name":"Uncontrolled Resource Consumption","description":"The product does not properly control the allocation and maintenance of a limited resource.","type":"weakness","status":"Draft","abstraction":"Class","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/400.html"},{"id":"CWE-664","name":"Improper Control of a Resource Through its Lifetime","description":"The product does not maintain or incorrectly maintains control over a resource throughout its lifetime of creation, use, and release.","type":"weakness","status":"Draft","abstraction":"Pillar","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/664.html"}],"affected":[{"vendor":"fastify","product":"fastify-multipart","name":"fastify-multipart","label":"fastify-multipart","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ 5.3.0, < 10.1.1","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 5.3.0, < 10.1.1","eol":null,"hubHref":"/vendor/fastify/fastify-multipart"},{"vendor":"@fastify/multipart","product":"@fastify/multipart","name":"@fastify/multipart","label":"@fastify/multipart","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ 5.3.0, < 10.1.1","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 5.3.0, < 10.1.1","eol":null,"hubHref":"/vendor/fastifymultipart/fastifymultipart"}],"affectedCount":2,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/fastify/fastify-multipart/security/advisories/GHSA-vmph-573x-85f6","label":"github.com/fastify/fastify-multipart/security/advisories/GHSA-vmph-573x-85f6","hostname":"github.com","tags":["Mitigation","Vendor Advisory"]},{"url":"https://cna.openjsf.org/security-advisories.html","label":"cna.openjsf.org/security-advisories.html","hostname":"cna.openjsf.org","tags":["Third Party Advisory"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2026-08-15T13:26:53.782Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-08-17T19:44:01.262Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":30,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-21T01:25:52.463Z","stale":false,"partial":false}}