Quick answers
- Is CVE-2026-69216 exploited in the wild?
- No. Junglewise Threat Intelligence has no report of CVE-2026-69216 being exploited in the wild.
- How severe is CVE-2026-69216?
- Medium severity, with a CVSS score of 5.4, published 15 September 2026.
- Which products and versions are affected?
- Http4s-Ember-Core <= 0.23.34; org.http4s:http4s-ember-core_2.12 (Maven) ECOSYSTEM:introduced=0,fixed=0.23.35; org.http4s:http4s-ember-core_2.13 (Maven) ECOSYSTEM:introduced=0,fixed=0.23.35; org.http4s:http4s-ember-core_3 (Maven) ECOSYSTEM:introduced=0,fixed=0.23.35.
- Is there a fix for CVE-2026-69216?
- Yes. org.http4s:http4s-ember-core_2.12 (Maven): upgrade to 0.23.35 or later; org.http4s:http4s-ember-core_2.13 (Maven): upgrade to 0.23.35 or later; org.http4s:http4s-ember-core_3 (Maven): upgrade to 0.23.35 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
- How is CVE-2026-69216 attacked?
- It is attacked over the network, in a software library.
- Am I affected by CVE-2026-69216?
- Check whether you run Http4s-Ember-Core, org.http4s:http4s-ember-core_2.12 (Maven), org.http4s:http4s-ember-core_2.13 (Maven) or one of the others listed at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.
How to fix
- org.http4s:http4s-ember-core_2.12 (Maven): upgrade to 0.23.35 or later
# set org.http4s:http4s-ember-core_2.12 to 0.23.35 in your pom.xml or build.gradle - org.http4s:http4s-ember-core_2.13 (Maven): upgrade to 0.23.35 or later
# set org.http4s:http4s-ember-core_2.13 to 0.23.35 in your pom.xml or build.gradle - org.http4s:http4s-ember-core_3 (Maven): upgrade to 0.23.35 or later
# set org.http4s:http4s-ember-core_3 to 0.23.35 in your pom.xml or build.gradle
Technical details
The vulnerability is an HTTP request/response smuggling flaw (CWE-444) in Http4s Ember's chunk transfer coding decoder. The root cause is that the chunk size parser strips leading and trailing whitespace and accepts a leading + or - sign, deviating from RFC 9112 §7.1 which defines chunk-size as 1*HEXDIG (hex digits only). An intermediary (proxy, firewall) that interprets or rejects these non-conformant chunk sizes differently than Ember will misalign on request boundaries. Attack preconditions for the server path: (1) Ember-based server deployed behind a keep-alive intermediary, (2) intermediary forwards chunked bodies verbatim without re-encoding, (3) intermediary disagrees with Ember on the +/- prefix or whitespace handling. An unauthenticated remote attacker can smuggle a request through the intermediary to reach the origin server with attacker-chosen method and headers, bypassing front-end security controls, poisoning cached responses, or hijacking request queues. The client path (response smuggling) requires a malicious or compromised upstream server. Patches are available: 0.23.35 for the 0.23.x line and 1.0.0-M47 for the 1.0.0-M series.
Affected products
- Http4s http4s-ember-core_2.12 <= 0.23.34
- Http4s http4s-ember-core_2.13 <= 0.23.34, >= 1.0.0-M1 to <= 1.0.0-M46
- Http4s http4s-ember-core_3 <= 0.23.34, >= 1.0.0-M1 to <= 1.0.0-M46
Identifiers
- CVE-2026-69216
- GHSA-jrpm-956j-96jg
Timeline
- 2026-09-15: disclosed: Vulnerability published to GitHub Advisory Database
- 2026-09-15: patched: Patches released: v0.23.35 and v1.0.0-M47