CVE-2026-69213
Ember's HTTP/2 connection serializes all outgoing frames through a single unbounded queue drained by one writer fiber (`writeLoop`). When the write side stalls, any frames the connection keeps producing accumulate in that queue without limit. The peer can drive this cheaply because the connection emits a control frame in response to inbound frames it does not flow-control: one `PING` ACK per `PING`, one `SETTINGS` ACK per `SETTINGS`, and a `WINDOW_UPDATE` per inbound DATA. A single unauthenticated connection can therefore exhaust heap and OOM the process. This affects an ember server (malicious client) and an ember client (malicious/compromised server that floods the client and stops reading its ACKs). ## Impact Unauthenticated remote denial of service (OOM) against any ember server built `.withHttp2`, from a single connection, at negligible attacker cost (tiny control frames). Also affects an ember client talking to a hostile HTTP/2 server. ## Preconditions - Ember server or client built `.withHttp2`, speaking to a hostile or compromised peer. ## Workarounds - Disable HTTP/2 (do not call `.withHttp2`).
Properties
- ghsa_id
- GHSA-8f3q-3jmv-7prw
- severity
- high
- summary
- Http4s Ember HTTP/2 has an unbounded outbound frame queue
- cvss_score
- 7.5
- cve_id
- CVE-2026-69213
- 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-15T20:00:36Z
- source_url
- https://github.com/advisories/GHSA-8f3q-3jmv-7prw
- ghsa_updated
- 2026-09-15T20:00:36Z
Related Entities (9)
VULNERABLE_TO (3)
AFFECTS (3)
HAS_WEAKNESS (2)
REPORTED_BY (1)
Explore deeper with Ninja Signal's threat intelligence graph