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.
Published: 2026-10-08
Score: 9.1 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Resource exhaustion via double flow‑control refund
Action: Patch Immediately
AI Analysis

Impact

The vulnerability occurs in Go's HTTP/2 server implementation within the net/http and golang.org/x/net/http2 packages. It incorrectly refunds flow‑control credit twice: once when a client resets a stream, and again when the request handler reads the buffered data. This double refund breaks the MaxReceiveBufferPerConnection limit, letting a malicious client send data, reset the stream, and force the server to allocate more memory than intended. The flaw is a result of improper flow‑control credit management and could enable an attacker to cause memory growth bounded only by the concurrent stream and stream‑level flow‑control limits.

Affected Systems

Any Go application that uses the standard library packages net/http, net/http/internal/http2, or the golang.org/x/net/http2 library is affected. All Go distributions containing these packages are vulnerable; specific version ranges are not yet published publicly.

Risk and Exploitability

The CVSS score of 9.1 indicates critical severity, and the EPSS score of less than 1 % suggests a very low but nonzero probability of exploitation. It is not listed in CISA’s KEV catalog. Attacks would originate from a remote HTTP/2 client that can repeatedly send data and reset to trigger the double refund, potentially leading to memory growth bounded only by the concurrent stream limit and stream‑level flow control. The repeated reset pattern is inferred from the description, as the vulnerable refund logic can be abused by a client that triggers multiple resets to bypass the connection‑level flow control. No publicly known exploit exists, and no official patch is currently available; however, the design flaw permits a modest risk of denial of service if an adversary can sustain the reset pattern.

Generated by OpenCVE AI on October 9, 2026 at 19:07 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Deploy monitoring to detect unusually high HTTP/2 stream reset rates and large buffered data usage.
  • Temporarily disable HTTP/2 on the server or limit stream concurrency until an official fix is released.
  • Reduce the MaxReceiveBufferPerConnection setting to a lower value to constrain memory allocation while monitoring for performance impact.

Generated by OpenCVE AI on October 9, 2026 at 19:07 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Ubuntu USN Ubuntu USN USN-8935-1 Go vulnerabilities
History

Fri, 09 Oct 2026 17:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-675
Metrics cvssV3_1

{'score': 5.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L'}

ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}

cvssV3_1

{'score': 9.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H'}


Fri, 09 Oct 2026 15:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-399

Fri, 09 Oct 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-770
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L'}

threat_severity

Moderate


Fri, 09 Oct 2026 09:15:00 +0000

Type Values Removed Values Added
First Time appeared Go Standard Library
Go Standard Library net/http
Go Standard Library net/http2
Vendors & Products Go Standard Library
Go Standard Library net/http
Go Standard Library net/http2

Fri, 09 Oct 2026 01:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-399

Thu, 08 Oct 2026 23:00:00 +0000

Type Values Removed Values Added
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.
Title Double flow control refund on HTTP/2 server streams in net/http
References

Subscriptions

Go Standard Library Net/http Net/http2
cve-icon MITRE

Status: PUBLISHED

Assigner: Go

Published:

Updated: 2026-10-09T16:42:50.839Z

Reserved: 2026-08-24T23:36:15.738Z

Link: CVE-2026-78663

cve-icon Vulnrichment

Updated: 2026-10-09T16:39:53.678Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-08T23:17:03.647

Modified: 2026-10-09T17:16:49.420

Link: CVE-2026-78663

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-08T22:53:59Z

Links: CVE-2026-78663 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-09T19:15:12Z

Weaknesses
  • CWE-675

    Multiple Operations on Resource in Single-Operation Context

  • CWE-770

    Allocation of Resources Without Limits or Throttling