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.
Mitigation
Minimal update. May introduce new vulnerabilities or breaking changes.
|
 go | | >=0 <1.26.9 || >=1.27.0-0 <1.27.2 | 1.26.9, 1.27.2 |
 go | | | 0.60.0 |
 debian 12 | | =1.19.10-1 || =1.19.10-2 || =1.19.11-1 || =1.19.12-1 || =1.19.12-2 || =1.19.12-2~bpo11+1 || =1.19.12-2~bpo12+1 || =1.19.13-1 || =1.19.13-1~bpo11+1 || =1.19.13-1~bpo12+1 || =1.19.8-2 || =1.19.9-1 | - |
 debian 13 | | =1.24.12-1 || =1.24.13-1 || =1.24.13-2 || =1.24.4-1 || =1.24.4-2 || =1.24.4-3 || =1.24.4-4 || =1.24.7-1 || =1.24.8-1 || =1.24.9-1 | - |
 debian 14 | | =1.26.0-1 || =1.26.1-1 || =1.26.2-1 || =1.26.2-2 || =1.26.2-3 || =1.26.3-1 || =1.26.3-1~bpo13+1 || =1.26.3-2 || =1.26.3-2~bpo13+1 || =1.26.4-1 || =1.26.4-1~bpo13+1 || =1.26.5-1 || =1.26.5-1~bpo13+1 || =1.26.6-1 || =1.26.6-2 || =1.26.7-1 || =1.26.7-1~bpo13+1 || =1.26.8-1 || =1.26.8-1~bpo13+1 || =1.26.8-2 || =1.26~rc2-1 || =1.26~rc3-1 || =1.26~rc3-2 || >=0 <1.26.9-1 | 1.26.9-1 |
 debian 14 | | =1.27.0-1 || =1.27.0-1~bpo13+1 || =1.27.1-1 || =1.27.1-2 || =1.27.1-2~bpo13+1 || =1.27.2-1~bpo13+1 || =1.27~rc1-1 || =1.27~rc2-1 || =1.27~rc3-1 || >=0 <1.27.2-1 | 1.27.2-1 |
 debian 12 | | =1:0.10.0-1 || =1:0.11.0-1 || =1:0.14.0-1 || =1:0.15.0-1 || =1:0.15.0-2 || =1:0.17.0+dfsg-1 || =1:0.19.0+dfsg-1 || =1:0.20.0+dfsg-1 || =1:0.21.0+dfsg-1 || =1:0.22.0+dfsg-1 || =1:0.23.0+dfsg-1 || =1:0.24.0+dfsg-1 || =1:0.25.0+dfsg-1 || =1:0.26.0+dfsg-1 || =1:0.26.0+dfsg-2 || =1:0.27.0-1 || =1:0.27.0-2 || =1:0.47.0-1 || =1:0.47.0-2 || =1:0.53.0-1 || =1:0.53.0-2 || =1:0.53.0-2~bpo13+1 || =1:0.55.0-1 || =1:0.56.0-1 || =1:0.57.0-1 || =1:0.58.0-1 || =1:0.60.0-1 || =1:0.7.0+dfsg-1 | - |
 debian 13 | | =1:0.27.0-2 || =1:0.47.0-1 || =1:0.47.0-2 || =1:0.53.0-1 || =1:0.53.0-2 || =1:0.53.0-2~bpo13+1 || =1:0.55.0-1 || =1:0.56.0-1 || =1:0.57.0-1 || =1:0.58.0-1 || =1:0.60.0-1 | - |
 debian 14 | | =1:0.27.0-2 || =1:0.47.0-1 || =1:0.47.0-2 || =1:0.53.0-1 || =1:0.53.0-2 || =1:0.53.0-2~bpo13+1 || =1:0.55.0-1 || =1:0.56.0-1 || =1:0.57.0-1 || =1:0.58.0-1 || >=0 <1:0.60.0-1 | 1:0.60.0-1 |