What’s Vulnerable › Vulnerabilities
CVE-2026-78659: HTTP/2 server memory exhaustion due to Trailer headers in net/http
- Severity: high (CVSS 7.5 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.6% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-10-08 · updated 2026-10-09
- Weakness: CWE-405
Description
When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently.
Affected products
- Golang.Org/X/Net: before 0.60.0 — fixed in 0.60.0
- Go Stdlib: before 1.26.9; from 1.27.0-0 before 1.27.2 — fixed in 1.26.9, 1.27.2
- golang.org/x/net/http2: before 0.60.0 — fixed in 0.60.0
- Go standard library net/http: before 1.26.9 — fixed in 1.26.9
- Go standard library net/http/internal/http2: from 1.27.0-0 before 1.27.2 — fixed in 1.27.2
How to fix
Upgrade to a fixed version: Golang.Org/X/Net 0.60.0; Go Stdlib 1.26.9, 1.27.2; golang.org/x/net/http2 0.60.0; Go standard library net/http 1.26.9; Go standard library net/http/internal/http2 1.27.2. Check the vendor advisory for mitigations.
References
- https://go.dev/cl/847185
- https://go.dev/cl/847314
- https://go.dev/issue/81857
- https://groups.google.com/g/golang-announce/c/U2fTuyDJznI
- https://groups.google.com/g/golang-announce/c/ZPwCyRUuGBs
- https://pkg.go.dev/vuln/GO-2026-6603
Get alerted when CVE-2026-78659 or the next vulnerability affects your stack