Description
HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Go standard library net/http
Default version status: unaffected
0 to < 1.26.9affected
Go standard library net/http/internal/http2
Default version status: unaffected
1.27.0-0 to < 1.27.2affected
golang.org/x/net golang.org/x/net/http2
Default version status: unaffected
0 to < 0.60.0affected