Double flow control refund on HTTP/2 server streams in net/http
At a glance
Severity
CRITICAL 9.1
EPSS
EPSS 0.62 % · percentile 50 (2026-10-27)
State
PUBLISHED
Published
Updated
Assigner
Go
NVD status
Awaiting Analysis
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.