Skip to main content
VulnerabilityPublished 07/24/2026

Org.http4s:http4s blaze server 2.13: blaze: Unbounded WebSocket message aggregation in http4s-blaze-server

Affects org.http4s:http4s-blaze-server_2.13Source GCVE Database

0
CVSS 3.1 base score
7.5High
How severe the flaw is on the 0–10 CVSS scale.
Patch
Available – fixed in 0.23.18, 1.0.0-M42
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

What to do

Affected software

ProductAffectedFixed in
Mavenorg.http4s:http4s-blaze-server_2.13Affected
  • <0.23.18
Fixed in
  • 0.23.18
Mavenorg.http4s:http4s-blaze-server_2.13Affected
  • >=1.0.0-M1 <1.0.0-M42
Fixed in
  • 1.0.0-M42
Mavenorg.http4s:http4s-blaze-server_2.12Affected
  • <0.23.18
Fixed in
  • 0.23.18
Mavenorg.http4s:http4s-blaze-server_3Affected
  • >=1.0.0-M1 <1.0.0-M42
Fixed in
  • 1.0.0-M42

Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.

AI-suggested

The maxWebSocketBufferSize setting does not mitigate the issue. Recommended mitigations include terminating or limiting WebSocket traffic at a fronting layer that enforces message size and fragment limits, or disabling WebSocket routes entirely. For a longer-term solution, plan migration from the blaze-server backend to a maintained alternative such as ember, as blaze-server is end-of-life upstream.

Description

The http4s-blaze-server aggregates incoming WebSocket message fragments without limiting total size or fragment count. An attacker completing a WebSocket handshake can send an unterminated fragmented message, causing unbounded heap growth in the server JVM and resulting in denial of service via OutOfMemoryError. This affects any http4s application using BlazeServerBuilder for WebSocket routes with versions prior to 0.23.18. No default configuration limits the aggregate buffer size, and the maxWebSocketBufferSize setting only limits individual frames. Mitigation involves limiting or terminating WebSocket traffic at a fronting layer or migrating to a maintained backend, as blaze-server is end-of-life upstream.

Impact

The vulnerability allows remote unauthenticated attackers (if the WebSocket endpoint is unauthenticated) or authenticated clients (if authentication is required) to cause denial of service by exhausting server heap memory. This results in the termination of the JVM process running the blaze selector thread due to OutOfMemoryError. The impact is high as it disrupts availability of the affected http4s applications serving WebSocket routes over BlazeServerBuilder.

Summary

The vulnerability in org.http4s:http4s-blaze-server_2.13 allows unbounded aggregation of fragmented WebSocket messages. Specifically, the server buffers all fragments of an incoming WebSocket message with no limit on total size or fragment count. An attacker can exploit this by sending a fragmented message that never sets the FIN bit, causing the server to buffer fragments indefinitely. This leads to unbounded heap memory growth and eventual JVM OutOfMemoryError, resulting in denial of service. The issue affects all versions prior to 0.23.18. The maxWebSocketBufferSize parameter only limits individual frame sizes and does not mitigate the aggregation issue. No patch is currently available, and the blaze-server backend is end-of-life, with recommendations to migrate to a maintained backend such as ember.

Weaknesses

References

Community reviews

Loading reviews…

Get alerts for org.http4s:http4s-blaze-server_2.13 by Slack, email or webhook with Pro Console, or bring in OffSeq incident response (opens in a new tab).

Threat ID
6a65421d9c2644c7f808807d
Added
07/25/2026, 23:09:17 UTC
Analysed
07/25/2026, 23:50:32 UTC
Updated
10/02/2026, 03:18:15 UTC
Views
82