Track vulnerabilities like this one. Sign up free to get alerted when software you use is affected.
9.4

CVE-2026-69204: http4s Ember may let attackers bypass controls

CVE-2026-69204 · published 1 month ago
Summary

Versions of the http4s Ember library before the latest updates can accept web requests that contain two conflicting size indicators. This can let an attacker sneak extra requests past firewalls or cache systems, and may cause mixed or broken responses. Upgrade to version 0.23.35 or later (or 1.0.0-M47 or later) to stop this behavior.

What to do
  • Update org.http4s:http4s-ember-core_2.12 to version 0.23.35.
  • Update org.http4s:http4s-ember-core_2.13 to version 0.23.35.
  • Update org.http4s:http4s-ember-core_3 to version 0.23.35.
  • Update org.http4s:http4s-ember-core_2.13 to version 1.0.0-M47.
  • Update org.http4s:http4s-ember-core_3 to version 1.0.0-M47.
Affected software
Ecosystem VendorProductAffected versions
– http4s http4s < 0.23.35
maven – org.http4s:http4s-ember-core_2.12 <= 0.23.34
Fix: upgrade to 0.23.35
maven – org.http4s:http4s-ember-core_2.13 <= 0.23.34
>= 1.0.0-M1, <= 1.0.0-M46
Fix: upgrade to 0.23.35
maven – org.http4s:http4s-ember-core_3 <= 0.23.34
>= 1.0.0-M1, <= 1.0.0-M46
Fix: upgrade to 0.23.35
Maven – org.http4s:http4s-ember-core_2.12 < 0.23.35
Fix: upgrade to 0.23.35
Maven – org.http4s:http4s-ember-core_2.13 < 0.23.35
>= 1.0.0-M1, < 1.0.0-M47
Fix: upgrade to 0.23.35
Maven – org.http4s:http4s-ember-core_3 < 0.23.35
>= 1.0.0-M1, < 1.0.0-M47
Fix: upgrade to 0.23.35
Original advisory text
Http4s: Ember accepts Transfer-Encoding combined with Content-Length (CL.TE request smuggling)
Http4s is a Scala interface for HTTP services. Prior to 0.23.35 and 1.0.0-M47, Ember HTTP/1.1 does not reject messages containing both Transfer-Encoding and Content-Length, so an intermediary and Ember can select different body framing rules. When ember-server is behind a keep-alive intermediary that forwards both headers and frames by Content-Length, an unauthenticated attacker can smuggle a second request, bypass intermediary access controls, poison caches, or cause a victim request to be joined to an attacker-controlled prefix. The shared response parser can also desynchronize an ember-client connection when a malicious or compromised upstream sends both headers. This issue is fixed in versions 0.23.35 and 1.0.0-M47.
Fix within
Internet-facing 14 days
Internal At next upgrade
  • Not known to be exploited
  • Needs hands-on effort to exploit
  • Gives an attacker full control
Severity
9.4 Critical
Exploitation
<1% chance of attack within 30 days
Type
CWE-444Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')
Timeline
Published15 Sep 2026
Updated4 Nov 2026
First seen15 Sep 2026
Track software like this
Free during beta