CVE-2026-97032: HTTP/2 server crash due to HPACK encoder race in net/http
Advisory generated from the CVE record, CISA, Exploit Observer and VEDAS: what it is, whether it is exploited, who is affected, and how to fix and detect it.
Generated by VEDAS. Scores as of 2026-11-01 19:19 UTC. Rebuilt every few hours from cve-scores, CISA KEV and vedas-signatures. How this works and its limits.
What it is
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.
Description quoted from the CVE record (assigned by Go, published 2026-10-08).
Weakness: CWE-362 Concurrent Execution using Shared Resource with Improper Synchronization (‘Race Condition’)
How it can be exploited
Exploitable over the network with low attack complexity needing no privileges and no user interaction. Impact: confidentiality none, integrity none, availability high. CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CISA assessment (SSVC): CISA has no evidence of exploitation. Automatable: yes. Technical impact: partial.
Public exploit evidence (Exploit Observer)
Exploit Observer evidence for this CVE has not been fetched yet.
Live scores
- EPSS
- 0.005
low predicted chance of attack - VEDAS
- 0.055
little exploit evidence - On CISA KEV
- Not listed
- Detection rule
- None yet
Who is affected
| Product | Affected | Not affected |
|---|---|---|
| Go standard library net/http | before 1.26.9 | Not stated |
| Go standard library net/http/internal/http2 | from 1.27.0-0 before 1.27.2 | Not stated |
| golang.org/x/net golang.org/x/net/http2 | before 0.60.0 | Not stated |
Version ranges exactly as the CVE record states them. “Before X” means X is the first fixed version.
How to fix it
Fixed versions stated in the CVE record: 1.26.9, 1.27.2, 0.60.0.
How to detect it
There is no open VEDAS detection rule for this bug yet. It is listed on the detection gaps page if CISA has confirmed attacks.
Advisories on this CVE
- Go 1.27.2 and 1.27.3: 15 security fixes including HTTP/2 server crashes, then a crypto/x509 distrust of the eMudhra intermediates (full advisory)
- Go: two security releases, HTTP/2 and toolchain fixes then eMudhra distrust (CVE-2026-78659, CVE-2026-78667, CVE-2026-78669, CVE-2026-97032, CVE-2026-97031, CVE-2026-94447, CVE-2026-97030) (19 Oct 2026)
References
Other 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://pkg.go.dev/vuln/GO-2026-6617
Other databases
Where this comes from
This advisory is generated automatically by VEDAS from: CVE.org record, cve-scores (EPSS and VEDAS). Text in quotes is reproduced from the source; everything else is a fixed template filled with source fields. Nothing here is written by a language model. Check the vendor advisory before acting, and read how VEDAS and Exploit Observer work, and their limits.