CVE-2023-26964
Description
An issue was discovered in hyper v0.13.7. h2-0.2.4 Stream stacking occurs when the H2 component processes HTTP2 RST_STREAM frames. As a result, the memory and CPU usage are high which can lead to a Denial of Service (DoS).
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
In h2-0.2.4 used by hyper v0.13.7, HTTP/2 RST_STREAM frames cause unbounded memory growth in the accept queue leading to DoS.
Vulnerability
Overview
CVE-2023-26964 describes a resource exhaustion vulnerability in the h2 crate (v0.2.4) as used by hyper v0.13.7. When the H2 component processes HTTP/2 RST_STREAM frames, streams that have been received but not yet accepted by the user can remain in a closed state in an internal slab. These streams are not immediately released, causing the slab to grow indefinitely [1][3]. The root cause is that the stream memory is freed only when stream.is_released() is true, but RST_STREAM does not trigger that release [3].
Exploitation
Mechanism
An attacker can send a flood of HEADERS frames followed immediately by RST_STREAM frames on the same HTTP/2 connection [3]. Since the streams are closed and no longer count toward the max_concurrent_streams limit, they accumulate in the accept queue. If the peer can send frames faster than the server's accept loop processes them, the memory and CPU usage increase steadily [1][4]. This attack does not require authentication and can be performed over a single TCP connection.
Impact
Successful exploitation leads to high memory and CPU consumption, ultimately causing a Denial of Service (DoS) condition. The vulnerability can exhaust available system memory, making the service unresponsive [2][3]. No other impacts (e.g., code execution, data leakage) have been reported.
Mitigation
The issue is fixed in h2 version 0.3.17 and later [4]. The fix introduces a maximum count for streams in the pending-accept but remotely-reset state; when the limit is reached, the connection sends a GOAWAY frame with ENHANCE_YOUR_CALM and marks itself as errored [1]. Upgrading to the patched version is recommended. No workarounds have been officially documented.
- fix: limit the amount of pending-accept reset streams by seanmonstar · Pull Request #668 · hyperium/h2
- NVD - CVE-2023-26964
- Stream stacking occurs when H2 processes HTTP2 RST_STREAM frames. As a result, the memory and CPU usage are high.
- Resource exhaustion vulnerability in h2 may lead to Denial of Service (DoS) › RustSec Advisory Database
AI Insight generated on May 20, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
h2crates.io | < 0.3.17 | 0.3.17 |
Affected products
17- hyper/hyperdescription
- ghsa-coords16 versionspkg:cargo/h2pkg:rpm/opensuse/hoard&distro=openSUSE%20Tumbleweedpkg:rpm/opensuse/kanidm&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/pijul&distro=openSUSE%20Tumbleweedpkg:rpm/opensuse/rustup&distro=openSUSE%20Leap%2015.4pkg:rpm/opensuse/rustup&distro=openSUSE%20Leap%2015.5pkg:rpm/opensuse/rustup&distro=openSUSE%20Tumbleweedpkg:rpm/opensuse/sccache&distro=openSUSE%20Tumbleweedpkg:rpm/opensuse/wasm-pack&distro=openSUSE%20Tumbleweedpkg:rpm/opensuse/watchexec&distro=openSUSE%20Tumbleweedpkg:rpm/suse/kanidm&distro=SUSE%20Package%20Hub%2015%20SP6pkg:rpm/suse/rust-keylime&distro=SUSE%20Linux%20Enterprise%20Micro%205.3pkg:rpm/suse/rust-keylime&distro=SUSE%20Linux%20Enterprise%20Micro%205.4pkg:rpm/suse/rust-keylime&distro=SUSE%20Linux%20Enterprise%20Micro%205.5pkg:rpm/suse/rustup&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP4pkg:rpm/suse/rustup&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP5
< 0.3.17+ 15 more
- (no CPE)range: < 0.3.17
- (no CPE)range: < v.1.4.2~0-1.1
- (no CPE)range: < 1.3.3~git0.f075d13-bp156.4.1
- (no CPE)range: < 1.0.0~beta.5-1.1
- (no CPE)range: < 1.26.0~0-150400.3.7.1
- (no CPE)range: < 1.26.0~0-150400.3.7.1
- (no CPE)range: < 1.25.2~0-4.1
- (no CPE)range: < 0.4.1~18-2.1
- (no CPE)range: < 0.11.0~0-2.1
- (no CPE)range: < 1.22.3-1.1
- (no CPE)range: < 1.3.3~git0.f075d13-bp156.4.1
- (no CPE)range: < 0.2.7+141-150400.3.7.1
- (no CPE)range: < 0.2.7+141-150400.3.5.1
- (no CPE)range: < 0.2.7+141-150500.3.5.1
- (no CPE)range: < 1.26.0~0-150400.3.7.1
- (no CPE)range: < 1.26.0~0-150400.3.7.1
Patches
0No patches discovered yet.
Vulnerability mechanics
AI mechanics synthesis has not run for this CVE yet.
References
8- github.com/advisories/GHSA-f8vr-r385-rh5rghsaADVISORY
- lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/ZHBAE7LQARMPUEEV4TWET4D7G6WCWBUD/mitrevendor-advisory
- lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/ZYRZ5Y2ALATKKPIITAFAJIS4TR4LUAHO/mitrevendor-advisory
- nvd.nist.gov/vuln/detail/CVE-2023-26964ghsaADVISORY
- github.com/hyperium/h2/issues/621ghsaWEB
- github.com/hyperium/h2/pull/668ghsaWEB
- github.com/hyperium/hyper/issues/2877ghsaWEB
- rustsec.org/advisories/RUSTSEC-2023-0034.htmlghsaWEB
News mentions
0No linked articles in our index yet.