CVE-2026-69202
Ember's HTTP/2 stack replenishes the inbound flow-control window based on bytes received off the wire, not bytes consumed by the application. Received DATA is buffered in an unbounded per-stream channel. Flow control therefore provides no backpressure: a peer can stream a large or unbounded body faster than the application drains it and the connection retains every payload in heap. This is the read-path mirror of the [outbound queue issue](https://github.com/http4s/http4s/security/advisories/GHSA-8f3q-3jmv-7prw). This affects an Ember receiving a request body and an Ember client receiving a response body from a hostile server. ### Impact Unauthenticated remote denial of service (OOM) against any Ember server built `.withHttp2` for a non-draining or slow-draining route, and against an Ember client consuming from a hostile or compromised server. ### Workarounds - Disable HTTP/2 to remove the vector entirely. - Apply an aggregate request-entity size limit (e.g. `EntityLimiter` middleware) on routes that consume the body. - Ensure handlers fully drain request bodies with aggressive idle timeouts.
Properties
- ghsa_id
- GHSA-6m4x-pp6q-5jmm
- summary
- Http4s Ember HTTP/2: unbounded inbound body buffering
- severity
- high
- cvss_score
- 7.5
- cve_id
- CVE-2026-69202
- 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:52:58Z
- source_url
- https://github.com/advisories/GHSA-6m4x-pp6q-5jmm
- ghsa_updated
- 2026-09-15T19:52:59Z
Related Entities (9)
REPORTED_BY (1)
VULNERABLE_TO (3)
AFFECTS (3)
HAS_WEAKNESS (2)
Explore deeper with Ninja Signal's threat intelligence graph