Description
Http4s is a Scala interface for HTTP services. Prior to 0.23.35 and 1.0.0-M47, When Ember receives an HTTP/2 HEADERS or PUSH_PROMISE frame without END_HEADERS, H2Connection buffers the header block and subsequent CONTINUATION fragments without a size bound. A remote peer can keep an incomplete block open and exhaust heap memory before request decoding, affecting an ember-server or ember-client configured with withHttp2. The remediation tracks accumulated size against SETTINGS_MAX_HEADER_LIST_SIZE derived from EmberServerBuilder.maxHeaderSize or EmberClientBuilder.maxResponseHeaderSize, sends GOAWAY when the limit is exceeded, and applies receiveHeadersTimeout to incomplete blocks. This issue is fixed in versions 0.23.35 and 1.0.0-M47.
Published: 2026-09-15
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service via heap exhaustion
Action: Update
AI Analysis

Impact

module for HTTP/2. A flaw allows a remote peer to send a HEADERS or PUSH_PROMISE frame without the END_HEADERS flag. Ember buffers all header fragments without enforcing a size limit. An attacker can keep an incomplete header block open, draining the JVM heap before request decoding. This results in a denial‑of‑service condition without code‑execution or data‑exfiltration capability.

Affected Systems

The vulnerability affects the http4s library across both server and client implementations. Versions prior to 0.23.35 and 1.0.0‑M47 that enable HTTP/2 via withHttp2 are impacted. Upgrading to a bounded buffer that enforces SETTINGS_MAX_HEADER_LIST_SIZE and sends a GOAWAY when the limit is exceeded mitigates the issue.

Risk and Exploitability

The CVSS score of 7.5 indicates. The EPSS score is < 1% and the vulnerability is not listed in the CISA KEV catalog. The likely attack vector is a remote network connection to the affected ember server or client; no privileged access or authentication is required. The effect is limited to the targeted traffic, but can precipitate widespread outages.

Generated by OpenCVE AI on September 17, 2026 at 08:23 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade http4s to version 0.23.35 or newer 1 where the buffer size is capped and a GOAWAY is issued on overflow.
  • If upgrading immediately is not possible, configure EmberServerBuilder.maxHeaderSize (or EmberClientBuilder.maxResponseHeaderSize) to a reasonably low value and enable receiveHeadersTimeout to abort long‑running header processing.
  • Monitor JVM heap usage and application uptime when regular vulnerability scanning for known changes in Ember HTTP/2 handling.

Generated by OpenCVE AI on September 17, 2026 at 08:23 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-cp4q-fqw9-4hf6 Http4s Ember HTTP/2: unbounded continuation frame accumulation
History

Tue, 15 Sep 2026 21:45:00 +0000

Type Values Removed Values Added
First Time appeared Http4s
Http4s http4s
Vendors & Products Http4s
Http4s http4s

Tue, 15 Sep 2026 19:45: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, When Ember receives an HTTP/2 HEADERS or PUSH_PROMISE frame without END_HEADERS, H2Connection buffers the header block and subsequent CONTINUATION fragments without a size bound. A remote peer can keep an incomplete block open and exhaust heap memory before request decoding, affecting an ember-server or ember-client configured with withHttp2. The remediation tracks accumulated size against SETTINGS_MAX_HEADER_LIST_SIZE derived from EmberServerBuilder.maxHeaderSize or EmberClientBuilder.maxResponseHeaderSize, sends GOAWAY when the limit is exceeded, and applies receiveHeadersTimeout to incomplete blocks. This issue is fixed in versions 0.23.35 and 1.0.0-M47.
Title Http4s Ember HTTP/2: unbounded continuation frame accumulation
Weaknesses CWE-770
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-15T19:22:57.407Z

Reserved: 2026-08-03T16:57:50.125Z

Link: CVE-2026-69218

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Deferred

Published: 2026-09-15T20:17:41.310

Modified: 2026-09-16T20:38:04.943

Link: CVE-2026-69218

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-17T08:30:15Z

Weaknesses
  • CWE-770

    Allocation of Resources Without Limits or Throttling