Overview
About vulnerability
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 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.Details
- Affected product:
- Fastify , apollo-server-fastify , arcjet-js , as-integrations-fastify , bufbuild/connect-es , callstack-repack , callstack-repack-plugin-expo-modules , callstack-repack-plugin-nativewind , callstack-repack-plugin-reanimated , clerk-fastify , connectrpc-connect-fastify , ecosystem , mastra , nestjs-mercurius , nestjs-platform-fastify , repack , rock-js-plugin-repack , typescript-sdk , wdio-devtools-backend , wdio-devtools-service , webdriverio/devtools , x402-fastify
- Affected packages:
- fastify @ 5.11.3 (+313 more)