GO-2026-6612
Double flow control refund on HTTP/2 server streams in net/http
At a glance
- Published
- Updated
- CVE
- CVE-2026-78663
- Aliases
- BIT-golang-2026-78663
Description
The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control.
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/847187 FIX
- https://go.dev/cl/847310 FIX
- https://go.dev/issue/81743 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 |