| Package | Affected versions | Patched versions |
|---|---|---|
| golang.org/x/net | < 0.60.0 | 0.60.0 |
| stdlib | ≥ 1.27.0-0, < 1.27.2< 1.26.9 | 1.27.21.26.9 |
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.
Running one of these products? Scan your site to see whether it exposes a vulnerable version.
Scan my site free