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

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

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.

Technologies: Http4s-Ember-Core, org.http4s:http4s-ember-core_2.12 (Maven), org.http4s:http4s-ember-core_2.13 (Maven), org.http4s:http4s-ember-core_3 (Maven). Vendors: Http4s, Maven.

Quick answers

Is CVE-2026-69202 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-69202 being exploited in the wild.
How severe is CVE-2026-69202?
High severity, with a CVSS score of 7.5, published 15 September 2026.
Which products and versions are affected?
Http4s-Ember-Core <= 0.23.34; org.http4s:http4s-ember-core_2.12 (Maven) ECOSYSTEM:introduced=0,fixed=0.23.35; org.http4s:http4s-ember-core_2.13 (Maven) ECOSYSTEM:introduced=0,fixed=0.23.35; org.http4s:http4s-ember-core_3 (Maven) ECOSYSTEM:introduced=0,fixed=0.23.35.
Is there a fix for CVE-2026-69202?
Yes. org.http4s:http4s-ember-core_2.12 (Maven): upgrade to 0.23.35 or later; org.http4s:http4s-ember-core_2.13 (Maven): upgrade to 0.23.35 or later; org.http4s:http4s-ember-core_3 (Maven): upgrade to 0.23.35 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-69202 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-69202?
Check whether you run Http4s-Ember-Core, org.http4s:http4s-ember-core_2.12 (Maven), org.http4s:http4s-ember-core_2.13 (Maven) or one of the others listed at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • org.http4s:http4s-ember-core_2.12 (Maven): upgrade to 0.23.35 or later
    # set org.http4s:http4s-ember-core_2.12 to 0.23.35 in your pom.xml or build.gradle
  • org.http4s:http4s-ember-core_2.13 (Maven): upgrade to 0.23.35 or later
    # set org.http4s:http4s-ember-core_2.13 to 0.23.35 in your pom.xml or build.gradle
  • org.http4s:http4s-ember-core_3 (Maven): upgrade to 0.23.35 or later
    # set org.http4s:http4s-ember-core_3 to 0.23.35 in your pom.xml or build.gradle

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

Identifiers

  • CVE-2026-69202
  • GHSA-6m4x-pp6q-5jmm

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

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.