CVE-2026-78663 Double flow control refund on HTTP/2 server streams in net/http

Critical 9.1 Published Updated

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.

PackageAffectedFixed in
stdlib GoAll versions1.26.9
stdlib GoFrom 1.27.0-01.27.2
golang BitnamiAll versions1.26.9, 1.27.2
golang.org/x/net GoAll versions0.60.0
Linux distribution packages (1)
hugo openSUSE:TumbleweedAll versions0.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.

Is CVE-2026-78663 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free