Description (CNA)
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 (CNA)
| Vendor / product | Versions |
|---|---|
| Go standard library / net/http | affected 0 before 1.26.9 |
| Go standard library / net/http/internal/http2 | affected 1.27.0-0 before 1.27.2 |
| golang.org/x/net / golang.org/x/net/http2 | affected 0 before 0.60.0 |
CWE
No CWE identifiers supplied.
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
ADP enrichment
No English description supplied.
No references supplied.