{"id":"CVE-2026-69213","aliases":["GHSA-8f3q-3jmv-7prw"],"url":"https://o3.security/vulnerability/CVE-2026-69213","summary":"Http4s Ember HTTP/2: unbounded outbound frame queue","details":"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.\n\nThis affects an ember server (malicious client) and an ember client (malicious/compromised server that floods the client and stops reading its ACKs).\n\n## Impact\n\nUnauthenticated 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.\n\n## Preconditions\n\n- Ember server or client built `.withHttp2`, speaking to a hostile or compromised peer.\n\n## Workarounds\n\n- Disable HTTP/2 (do not call `.withHttp2`).","published":"2026-09-15T19:08:21.856Z","modified":"2026-10-28T02:31:12.452443168Z","cvss":{"score":7.5,"severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"},"epss":{"score":0.00361,"percentile":0.29697,"asOf":"2026-09-16"},"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"Maven","name":"org.http4s:http4s-ember-core_2.12","fixedVersion":"0.23.35"},{"ecosystem":"Maven","name":"org.http4s:http4s-ember-core_2.13","fixedVersion":"0.23.35"},{"ecosystem":"Maven","name":"org.http4s:http4s-ember-core_3","fixedVersion":"0.23.35"},{"ecosystem":"Maven","name":"org.http4s:http4s-ember-core_3","fixedVersion":"1.0.0-M47"},{"ecosystem":"Maven","name":"org.http4s:http4s-ember-core_2.13","fixedVersion":"1.0.0-M47"}],"fix":{"url":"https://github.com/http4s/http4s/commit/13fe24d6440bde2f1eb70121486cf59c278e6bae","label":"http4s/http4s@13fe24d"},"references":[{"type":"WEB","url":"https://github.com/http4s/http4s/releases/tag/v0.23.35"},{"type":"WEB","url":"https://github.com/http4s/http4s/releases/tag/v1.0.0-M47"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/69xxx/CVE-2026-69213.json"},{"type":"ADVISORY","url":"https://github.com/http4s/http4s/security/advisories/GHSA-8f3q-3jmv-7prw"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-69213"},{"type":"FIX","url":"https://github.com/http4s/http4s/commit/13fe24d6440bde2f1eb70121486cf59c278e6bae"},{"type":"PACKAGE","url":"https://github.com/http4s/http4s"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-10-28T02:31:12.452443168Z"}}