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

PackageVersions
Go · stdlibintroduced 0, fixed 1.26.9
Go · stdlibintroduced 1.27.0-0, fixed 1.27.2
Go · golang.org/x/netintroduced 0, fixed 0.60.0

References

Sources

SourceLicence
OSV.devCC-BY 4.0 — Go Vulnerability Database