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.
Published: 2026-08-26
Score: 8.2 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service
Action: Patch
AI Analysis

Impact

Http4s, a Scala HTTP service library, contains a flaw in the Ember backend’s HTTP/2 implementation that allows an attacker to trigger an out-of-memory denial of service. The vulnerability arises because the Hpack wrapper fails to account for indexed headers and per-header overhead when calculating the maximum header size, permitting a small compressed header block to balloon into an excessively large decoded representation consuming heap space. Abuse of this weakness can cause the server to crash or become unresponsive.

Affected Systems

Affected systems include all versions of Http4s before 0.23.35 and the 1.0.0-M47 release. The product families impacted are the main Http4s library and the Ember backend modules for Scala 2.12, 2.13, and 3, all of which are publicly available on GitHub. Administrators should verify that their deployments still rely on a vulnerable version and be aware that untrusted clients could connect to exposed HTTP/2 services.

Risk and Exploitability

Risk assessment indicates a CVSS score of 8.2, signaling high severity. The exploit probability is not quantified (EPSS not available), and the vulnerability is not listed in the CISA KEV catalog. Attackers can exploit this flaw remotely by sending crafted HTTP/2 requests without authentication, and multiple concurrent connections may overwhelm the server’s heap, causing sustained disruption.

Generated by OpenCVE AI on August 26, 2026 at 16:43 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Http4s to 0.23.35 or later, or to 1.0.0-M47 or a newer patch release. This update corrects the header size accounting bug, preventing out-of-memory conditions.
  • If a patch cannot be applied immediately, disable HTTP/2 on the Ember backend or configure a reverse proxy to reject or limit HTTP/2 requests from untrusted sources.
  • Implement rate limiting or connection throttling on the web server to mitigate the impact of multiple malicious connections exhausting heap memory.

Generated by OpenCVE AI on August 26, 2026 at 16:43 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-vmm3-xgcx-67hm http4s has HTTP/2 Denial of Service with Ember Backend
History

Sat, 29 Aug 2026 03:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 28 Aug 2026 21:00:00 +0000

Type Values Removed Values Added
First Time appeared Http4s
Http4s http4s
Org.http4s
Org.http4s http4s-ember-core 2.12
Org.http4s http4s-ember-core 2.13
Org.http4s http4s-ember-core 3
Vendors & Products Http4s
Http4s http4s
Org.http4s
Org.http4s http4s-ember-core 2.12
Org.http4s http4s-ember-core 2.13
Org.http4s http4s-ember-core 3

Wed, 26 Aug 2026 14:30:00 +0000

Type Values Removed Values Added
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.
Title Http4s: HTTP/2 Denial of Service with Ember Backend
Weaknesses CWE-409
References
Metrics cvssV4_0

{'score': 8.2, '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'}


Subscriptions

Http4s Http4s
Org.http4s Http4s-ember-core 2.12 Http4s-ember-core 2.13 Http4s-ember-core 3
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-29T02:38:44.725Z

Reserved: 2026-06-15T19:04:14.456Z

Link: CVE-2026-54556

cve-icon Vulnrichment

Updated: 2026-08-29T02:38:39.375Z

cve-icon NVD

Status : Deferred

Published: 2026-08-26T15:16:49.527

Modified: 2026-09-09T21:09:13.080

Link: CVE-2026-54556

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-28T20:33:00Z

Weaknesses
  • CWE-409

    Improper Handling of Highly Compressed Data (Data Amplification)