CVE-2026-78663 Double flow control refund on HTTP/2 server streams in net/http
A malicious client can bypass connection-level flow control limits in Go's HTTP/2 server by triggering double refunds, potentially exhausting resources.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-78663?
CVE-2026-78663 is a critical vulnerability in golang.org/x/net/http2, published on 8 Oct 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official 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.
Weakness: CWE-675
Which versions are affected by CVE-2026-78663?
4 open source packages ship an affected version, including stdlib, golang and golang.org/x/net.
| Package | Affected | Fixed in |
|---|---|---|
stdlib Go | All versions | 1.26.9 |
stdlib Go | From 1.27.0-0 | 1.27.2 |
golang Bitnami | All versions | 1.26.9, 1.27.2 |
golang.org/x/net Go | All versions | 0.60.0 |
Linux distribution packages (1)
hugo openSUSE:Tumbleweed | All versions | 0.168.0-3.1 |
How do I fix CVE-2026-78663?
Upgrade stdlib to a fixed version for your release line: 1.26.9 or 1.27.2.
Is CVE-2026-78663 being exploited?
There is no known exploitation of CVE-2026-78663 in the wild and no public exploit code.
Sources
Also known as AZL-107024, AZL-107051, AZL-107066, AZL-107093, AZL-107120, AZL-107147 and 1101 more.