CVE-2026-69203
An ember server with HTTP/2 enabled (`.withHttp2`) does not enforce `SETTINGS_MAX_CONCURRENT_STREAMS` on streams opened by the peer. A single unauthenticated connection can open an unbounded number of concurrent streams, each of which allocates per-stream server state that is never released, exhausting the heap. ## Impact Unauthenticated remote denial of service (memory exhaustion) against any Ember server built `.withHttp2`. This is the resource-exhaustion class of the HTTP/2 "Rapid Reset" family (CVE-2023-44487). The same unchecked allocation path is reachable on the client via server-initiated `PUSH_PROMISE` frames, so a malicious or compromised server can exhaust an ember-client's heap the same way. ## Preconditions - Server: with `.withHttp2` enabled. - Client: makes HTTP/2 requests to malicious or compromised sites. `enablePush` is not enforced. ## Workarounds - Disable HTTP/2 on `EmberServerBuilder` or `EmberClientBuilder` (default) - Client only: avoid HTTP/2 to untrusted servers until patched.
Properties
- ghsa_id
- GHSA-9vwc-pc8p-253q
- summary
- Http4s Ember HTTP/2 does not enforce SETTINGS_MAX_CONCURRENT_STREAMS
- severity
- high
- cvss_score
- 7.5
- cve_id
- CVE-2026-69203
- cvss_vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- signal_observed_at
- 2026-09-15T21:13:07+00:00
- is_ghsa_only
- false
- ghsa_published
- 2026-09-15T19:53:14Z
- source_url
- https://github.com/advisories/GHSA-9vwc-pc8p-253q
- ghsa_updated
- 2026-09-15T19:53:27Z
Related Entities (9)
REPORTED_BY (1)
VULNERABLE_TO (3)
AFFECTS (3)
HAS_WEAKNESS (2)
Explore deeper with Ninja Signal's threat intelligence graph