CVE-2026-69204 json
Http4s: Ember accepts Transfer-Encoding combined with Content-Length (CL.TE request smuggling)
published last mo. modified last mo. also EUVD-2026-79025 , GHSA-8h4c-x2wg-6xp8
- cvss
- 9.2
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.6%
- EPSS 0.6% chance of exploitation in 30 days, percentile 47%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- maven org.http4s:http4s-ember-core_2.12 0.23.35
- maven org.http4s:http4s-ember-core_2.13 0.23.35, 1.0.0-M47
- maven org.http4s:http4s-ember-core_3 0.23.35, 1.0.0-M47
- typelevel http4s 0.23.35, 1.0.0-M47
- org.http4s http4s-ember-core_2.12 0.23.35
- org.http4s http4s-ember-core_2.13 0.23.35, 1.0.0-M47
- org.http4s http4s-ember-core_3 0.23.35, 1.0.0-M47
Is CVE-2026-69204 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- last mo.
Exploit prediction
0.57% chance of exploitation in the next 30 days, higher than 47% of all scored CVEs (FIRST EPSS, 2026-11-11).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 9.2 | CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N |
| CNA | 4.0 | 9.2 | CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| maven | org.http4s:http4s-ember-core_2.12 | <0.23.35 |
0.23.35 |
| maven | org.http4s:http4s-ember-core_2.13 | <0.23.35 >=1.0.0-M1, <1.0.0-M47 |
0.23.35 1.0.0-M47 |
| maven | org.http4s:http4s-ember-core_3 | <0.23.35 >=1.0.0-M1, <1.0.0-M47 |
0.23.35 1.0.0-M47 |
Affected products
- http4s http4s
Classification
- Weakness
-
- CWE-444 Inconsistent Interpretation of HTTP Requests
References
Sources
- CVE List CVE-2026-69204
- GitHub Advisory GHSA-8h4c-x2wg-6xp8
- NVD CVE-2026-69204
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.