Junglewise Threat Intelligence

CVE-2026-69202: Http4s Ember HTTP/2 unbounded inbound body buffering

CVE-2026-69202 · Severity: high · CVSS 7.5 · Published 2026-09-15

Executive brief

Http4s Ember is a popular HTTP server and client library for Java/Scala applications. The HTTP/2 implementation has a flaw in how it manages inbound data buffering: it replenishes flow-control windows based on network bytes received rather than bytes processed by the application, causing all incoming data to be buffered indefinitely in memory. An attacker can exploit this by streaming large amounts of data to cause out-of-memory failures, making services unavailable. This affects any Ember-based HTTP server or client that uses HTTP/2.

Technical details

The vulnerability is a resource exhaustion issue (CWE-400, CWE-770) in the HTTP/2 flow-control implementation. The root cause is that Ember's inbound window replenishment is driven by bytes received off the wire rather than by bytes consumed by the application. Received DATA frames are buffered in an unbounded per-stream channel, breaking the intended backpressure mechanism of HTTP/2 flow control. An unauthenticated attacker can send a large or streaming request body to an Ember server (or a compromised/hostile server sending a response to an Ember client), causing the connection to retain all payload data in heap memory until the connection is closed. This leads to memory exhaustion and out-of-memory errors. The fix is available in http4s-ember-core 0.23.35, 1.0.0-M47, and later versions. Workarounds include disabling HTTP/2, applying request-entity size limits via middleware, and ensuring aggressive idle timeouts.

Affected products

  • http4s http4s-ember-core_2.12 <= 0.23.34
  • http4s http4s-ember-core_2.13 <= 0.23.34, >= 1.0.0-M1 to <= 1.0.0-M46
  • http4s http4s-ember-core_3 <= 0.23.34, >= 1.0.0-M1 to <= 1.0.0-M46

Timeline

  • 2026-07-06: disclosed: Published to GitHub Advisory Database
  • 2026-09-15: advisory: Advisory updated and reviewed
  • 2026-09-15: patched: Patches released: 0.23.35, 1.0.0-M47

References

Related threats