HTTP/2 server crash due to HPACK encoder race in net/http
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.
- Products
- golang
- Affected versions
- Not specified
- Fixed versions
- 1.26.9, 1.27.2
- CVEs
- CVE-2026-97032
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 30 Oct 2026, 20:02 UTC · Revision 1
Source evidence
HTTP/2 server crash due to HPACK encoder race in net/http
core-osv · Original sourcePublished 16 Oct 2026, 08:40 UTC
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.
osv:BIT-golang-2026-97032
golang
Fixed versions: 1.26.9, 1.27.2
Complete source record
{
"id": "d3c6dd5db5c8dd5df72ce973e8927ffd6363b6c3a1881a7b07f866c39a46e088",
"url": "https://osv.dev/vulnerability/BIT-golang-2026-97032",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "HTTP/2 server crash due to HPACK encoder race in net/http",
"summary": "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.",
"evidence": "osv:BIT-golang-2026-97032",
"products": [
{
"name": {
"value": "golang",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "1.26.9",
"evidence": "/affected/0/ranges"
},
{
"value": "1.27.2",
"evidence": "/affected/0/ranges"
}
],
"affected_versions": []
}
],
"severity": "high",
"structured": {
"id": "BIT-golang-2026-97032",
"aliases": [
"BIT-golang-2026-97032",
"CVE-2026-97032",
"GO-2026-6617"
],
"affected": [
{
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "0"
},
{
"fixed": "1.26.9"
},
{
"introduced": "1.27.0-0"
},
{
"fixed": "1.27.2"
}
]
}
],
"package": {
"name": "golang",
"purl": "pkg:bitnami/golang",
"ecosystem": "Bitnami"
},
"severity": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
}
],
"database_specific": {
"source": "https://github.com/bitnami/vulndb/tree/main/data/golang/BIT-golang-2026-97032.json"
}
}
],
"modified": "2026-10-16T09:55:57.350751224Z",
"provider": "osv",
"references": [
"https://go.dev/cl/847188",
"https://go.dev/cl/847313",
"https://go.dev/issue/81867",
"https://groups.google.com/g/golang-announce/c/U2fTuyDJznI",
"https://groups.google.com/g/golang-announce/c/ZPwCyRUuGBs",
"https://nvd.nist.gov/vuln/detail/CVE-2026-97032",
"https://pkg.go.dev/vuln/GO-2026-6617"
],
"provider_metadata": {
"cpes": [
"cpe:2.3:a:golang:go:*:*:*:*:*:*:*:*"
],
"severity": "High"
}
},
"related_cves": [
{
"value": "CVE-2026-97032",
"evidence": "/aliases"
}
],
"security_relevant": true,
"severity_evidence": "/database_specific/severity"
},
"source_id": "core-osv",
"document_id": 338727,
"published_at": "2026-10-16T08:40:16.785+00:00"
}