Description
Http4s (http4s-blaze-server) is a minimal, idiomatic Scala interface for HTTP services. Prior to 0.23.18 and 1.0.0-M42, http4s-blaze-server aggregates fragments of an incoming WebSocket message with no limit on total size or fragment count. A client that completes a WebSocket handshake can send an unterminated fragmented message and drive unbounded heap growth in the server JVM, resulting in denial of service through OutOfMemoryError. Any http4s application serving WebSocket routes over BlazeServerBuilder is affected, no non-default configuration is required, and maxWebSocketBufferSize does not bound the aggregate because it bounds only individual frames. A single connection sending continuation frames that never set FIN forces the server to buffer every fragment until the heap is exhausted, terminating the JVM with OutOfMemoryError on the blaze selector thread. Small fragments amplify the cost through per-frame object overhead, so a modest volume of wire bytes is sufficient. This issue is fixed in versions 0.23.18 and 1.0.0-M42.
Published: 2026-08-12
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Http4s-blaze-server concatenates incoming WebSocket frames without imposing any overall size or count limit. A downstream client that completes a WebSocket handshake can transmit an unterminated fragmented message by never setting the FIN flag, causing the server to buffer each fragment indefinitely. The accumulation of these fragments eventually exhausts the JVM heap and triggers an OutOfMemoryError, terminating the blaze selector thread and rendering the service unavailable.

Affected Systems

The vulnerability affects the http4s BlazeServerBuilder component of http4s-blaze-server. All parsable http4s installations using versions earlier than 0.23.18 or 1.0.0-M42 are impacted; the issue is resolved in those releases.

Risk and Exploitability

The CVSS score of 7.5 indicates a high likelihood of serious impact if exploited. Since EPSS data is unavailable and the vulnerability is not listed in CISA’s KEV catalog, known exploitation activity has not been reported, but the remote nature of the attack via any WebSocket client makes it readily actionable. No authentication or privileged state is required; any client reaching the WebSocket endpoint can trigger the denial of service.

Generated by OpenCVE AI on August 13, 2026 at 02:15 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade http4s-blaze-server to version 0.23.18 or newer
  • Replace the affected dependency in the project configuration (e.g., in build.sbt or pom.xml) and rebuild the application
  • Restart the application to clear any residual heap allocations and confirm the patch is in effect

Generated by OpenCVE AI on August 13, 2026 at 02:15 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-7ppr-r889-mcf2 blaze: Unbounded WebSocket message aggregation in http4s-blaze-server
History

Fri, 14 Aug 2026 00:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Wed, 12 Aug 2026 23:15:00 +0000

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

Wed, 12 Aug 2026 21:30:00 +0000

Type Values Removed Values Added
Description Http4s (http4s-blaze-server) is a minimal, idiomatic Scala interface for HTTP services. Prior to 0.23.18 and 1.0.0-M42, http4s-blaze-server aggregates fragments of an incoming WebSocket message with no limit on total size or fragment count. A client that completes a WebSocket handshake can send an unterminated fragmented message and drive unbounded heap growth in the server JVM, resulting in denial of service through OutOfMemoryError. Any http4s application serving WebSocket routes over BlazeServerBuilder is affected, no non-default configuration is required, and maxWebSocketBufferSize does not bound the aggregate because it bounds only individual frames. A single connection sending continuation frames that never set FIN forces the server to buffer every fragment until the heap is exhausted, terminating the JVM with OutOfMemoryError on the blaze selector thread. Small fragments amplify the cost through per-frame object overhead, so a modest volume of wire bytes is sufficient. This issue is fixed in versions 0.23.18 and 1.0.0-M42.
Title http4s-blaze-server: Unbounded WebSocket message aggregation
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-08-13T17:53:19.342Z

Reserved: 2026-08-12T19:00:33.735Z

Link: CVE-2026-73493

cve-icon Vulnrichment

Updated: 2026-08-13T17:49:18.310Z

cve-icon NVD

Status : Received

Published: 2026-08-12T22:17:16.673

Modified: 2026-08-13T18:18:17.740

Link: CVE-2026-73493

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-13T02:30:12Z

Weaknesses
  • CWE-770

    Allocation of Resources Without Limits or Throttling