Http4s: Ember Transfer-Encoding value parsing (TE.CL / TE.0 request smuggling)
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 0.23.35, 1.0.0-M47
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: no
- Technical impact: total
Summary
Http4s is a Scala interface for HTTP services. Prior to 0.23.35 and 1.0.0-M47, Ember’s HeaderP.parse uses a case-sensitive substring test for the Transfer-Encoding value and decodes header bytes with the platform default charset. Values such as Chunked are not recognized, values such as notchunked are incorrectly accepted, and Unicode case folding can turn a Kelvin-sign byte sequence into a match when UTF-8 is used. Intermediaries that apply RFC-compliant token and charset rules can therefore disagree with Ember’s Content-Length or zero-length framing, enabling TE.CL or TE.0 request smuggling, access-control bypass, cross-user request hijacking, and cache poisoning on the server path. Response smuggling through an ember-client gateway requires a malicious or compromised upstream. This issue is fixed in versions 0.23.35 and 1.0.0-M47.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: total
- Record last updated
Affected versions
- http4s http4s
fixed in 0.23.35; From 1.0.0-M1 · fixed in 1.0.0-M47
- org.http4s:http4s-ember-core_3Maven
fixed in 0.23.35
- org.http4s:http4s-ember-core_2.13Maven
fixed in 0.23.35
- org.http4s:http4s-ember-core_2.12Maven
fixed in 0.23.35
- org.http4s:http4s-ember-core_2.13Maven
From 1.0.0-M1 · fixed in 1.0.0-M47
- org.http4s:http4s-ember-core_3Maven
From 1.0.0-M1 · fixed in 1.0.0-M47