{"id":"CVE-2026-120216","title":"fastify vulnerable to Denial of Service via uncaught exception on handlerTimeout with streaming responses","summary":"fastify is a web framework for Node.js. In versions 5.8.0 through 5.12.7, when the server is configured with a nonzero handlerTimeout and a route returns a streaming response, a request whose stream has already sent its headers but stays…","severity":"medium","cvss":5.9,"cvssVector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H","cvssSource":"cna","cwe":["CWE-248"],"vendor":"fastify","product":"fastify","affected":["fastify >= 5.8.0 < 5.12.8"],"ssvc":{"exploitation":"none","automatable":"no","technicalImpact":"partial","timestamp":"2026-11-02T16:55:59.970844Z"},"published":"2026-11-02","updated":"2026-11-02","sourceUpdated":"2026-11-02T16:56:16.784Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-120216","references":[{"url":"https://github.com/fastify/fastify/security/advisories/GHSA-3qgw-9275-xf8w"},{"url":"https://cna.openjsf.org/security-advisories.html"}],"tags":["cve.org"],"epss":0.00329,"epssPercentile":0.2616,"ingestedAt":"2026-11-05T19:30:42.714Z","slug":"CVE-2026-120216","body":"## Overview\n\nfastify is a web framework for Node.js. In versions 5.8.0 through 5.12.7, when the server is configured with a nonzero handlerTimeout and a route returns a streaming response, a request whose stream has already sent its headers but stays open past the timeout crashes the server. When the timeout fires, Fastify tries to send a new error response on a response that has already started, raising an uncaught ERR_HTTP_HEADERS_SENT that terminates the Node.js process and interrupts any other in-flight requests. An unauthenticated remote client can trigger this with a single request to an affected streaming endpoint, so the impact is availability only, and exploitation requires the non-default handlerTimeout to be set. The default handlerTimeout of 0 is not affected. The issue is fixed in fastify 5.12.8, and users should upgrade to 5.12.8 or later. As a workaround, set handlerTimeout to 0, which disables the affected timeout path.\n\n## Affected\n\n- `fastify >= 5.8.0 < 5.12.8`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"sunlit","depthScore":33,"depthScoreParts":{"impact":32.5,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[]}