Disclosure summary
### 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.
Source-specific records & product guidance
Sources retain their own attribution and scoring. Follow the original record to confirm affected versions, fixed releases, and configuration conditions.
GitHub Reviewed Security Advisories · GHSA-4mh8-r7rc-xpvc
Open original source · Updated Sep 30, 2026
fastify vulnerable to Denial of Service via unhandled exception on HTTP/2 trailer responses
Source severity: MEDIUM / 0
| Ecosystem | Package | Affected range | First patched |
|---|---|---|---|
| npm | fastify | < 5.12.5 | 5.12.5 |
Original records & references
- NIST NVD record
- CVE Program record
- github.com — Reviewed advisory
PUBLISHED 2026-09-30T19:53:44-04:00
MODIFIED 2026-09-30T19:53:45-04:00
INGESTED 2026-10-06T11:45:02-04:00