fastify vulnerable to Denial of Service via unhandled exception on HTTP/2 trailer responses
What fixes it
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
Impact
fastify crashes with an uncaught ERR_HTTP2_INVALID_CONNECTION_HEADERS exception when a route that registers a response trailer via reply.trailer() is served over HTTP/2. Fastify unconditionally adds the Transfer-Encoding: chunked header when a trailer is set, which is forbidden on HTTP/2, so Node.js throws while serializing the response headers. The exception is not caught and becomes an uncaughtException, terminating the Node.js process.
One unauthenticated HTTP/2 request to any route that uses trailers is enough to crash the server, dropping all in-flight requests, and the request can be repeated to keep the process down. Applications are affected only when HTTP/2 is enabled (http2: true) and at least one route registers a trailer. HTTP/1.x responses are not affected.
Patches
Upgrade to fastify 5.12.5 or later.
Workarounds
Avoid registering response trailers with reply.trailer() on routes served over HTTP/2 until upgrading.
Text from GitHub Advisory Database
Affected versions 4
- fastify, npm< 5.12.5GitHub
- fastifyaffected: all versions before 5.12.5CVE List
- fastifyunaffected: 5.12.5CVE List
- fastify, npmfrom first release, fixed in 5.12.5OSV
References 7
- github.com/fastify/fastify/commit/ad06a4c3fe8a944a904f38068249b18b8f552e90Fixvia GitHub
- github.com/fastify/fastify/releases/tag/v5.12.5Fixvia GitHub
- github.com/fastify/fastify/security/advisories/GHSA-4mh8-r7rc-xpvcAdvisoryvia CVE List
- cna.openjsf.org/security-advisories.htmlAdvisoryvia CVE List
- github.com/advisories/GHSA-4mh8-r7rc-xpvcAdvisoryvia GitHub
- nvd.nist.gov/vuln/detail/CVE-2026-92081Referencevia GitHub
- github.com/fastify/fastify/issues/6574Referencevia GitHub