CVE-2026-54556
Description
Http4s is a Scala interface for HTTP services. Prior to 0.23.35 and 1.0.0-M47, an unauthenticated HTTP/2 peer can cause an out-of-memory denial of service in the Ember backend with HTTP/2 enabled. The Hpack wrapper in ember-core/shared/src/main/scala/org/http4s/ember/core/h2/Hpack.scala concatenates HEADERS and CONTINUATION frame fragments and decodes them into a single List, but maxHeaderSize accounting does not include indexed headers or HPACK per-header overhead. A small compressed header block can therefore expand into a much larger decoded representation that remains in memory for processing. Servers exposed to untrusted HTTP/2 traffic and clients directed to an untrusted HTTP/2 server are affected, and concurrent malicious connections can exhaust the process heap. This issue is fixed in versions 0.23.35 and 1.0.0-M47.
How to fix
- org.http4s:http4s-ember-core_2.120.23.35 or later
- org.http4s:http4s-ember-core_2.131.0.0-M47, 0.23.35 or later
- org.http4s:http4s-ember-core_30.23.35, 1.0.0-M47 or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| org.http4s:http4s-ember-core_2.12Maven | v < 0.23.35 | 0.23.35 |
| org.http4s:http4s-ember-core_2.13Maven | 1.0.0-M1 ≤ v < 1.0.0-M47, v < 0.23.35 | 1.0.0-M47, 0.23.35 |
| org.http4s:http4s-ember-core_3Maven | v < 0.23.35, 1.0.0-M1 ≤ v < 1.0.0-M47 | 0.23.35, 1.0.0-M47 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.