GO-2026-6617
HTTP/2 server crash due to HPACK encoder race in net/http
At a glance
- Published
- Updated
- CVE
- CVE-2026-97032
- Aliases
- BIT-golang-2026-97032
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 packages
| Package | Versions |
|---|---|
| Go · stdlib | introduced 0, fixed 1.26.9 |
| Go · stdlib | introduced 1.27.0-0, fixed 1.27.2 |
| Go · golang.org/x/net | introduced 0, fixed 0.60.0 |
References
- https://go.dev/cl/847188 FIX
- https://go.dev/cl/847313 FIX
- https://go.dev/issue/81867 REPORT
- https://groups.google.com/g/golang-announce/c/U2fTuyDJznI WEB
- https://groups.google.com/g/golang-announce/c/ZPwCyRUuGBs WEB
Sources
| Source | Licence |
|---|---|
| OSV.dev | CC-BY 4.0 — Go Vulnerability Database |