Résumé
Http4s: Ember chunk parser lenience (TE.TE request smuggling)
Détails de l’avis
Summary
Ember's chunk decoder parses the size token leniently: it strips leading and trailing whitespace and accepts a leading + or - sign. RFC9112 §7.1 defines chunk-size = 1*HEXDIG. An intermediary that parses the chunk boundary differently (or rejects it) will disagree with Ember on request framing, enabling HTTP request smuggling (TE.TE).
Impact
Server
Request smuggling (TE.TE) when ember-server is an origin behind an intermediary that forwards the body verbatim but interprets the malformed chunk sizes differently
- Front-end security bypass: the smuggled request reaches paths the intermediary might have blocked, with attacker-chosen method and headers.
- Cache poisoning: the smuggled response is associated with the next request key in a caching proxy.
- Request queue hijack:
Client
ember-client has the same leniencies on the response path, which enables response smuggling when http4s is used as a gateway. This is less severe, as it requires a malicious or compromised upstream rather than an anonymous remote client.
Preconditions
- Unauthenticated remote attacker (server)
- ember-server as origin behind a keep-alive intermediary
- Malicious or compromised upstream (client)
- Intermediary or upstream forwards chunked bodies without re-encoding and disagrees with Ember on
+prefix,-prefix, or leading and trailing octets rather than rejecting.
Workarounds
- Intermediary strictly rejects malformed chunk sizes
- Intermediary buffers and re-encodes request bodies
References
Références
- https://github.com/advisories/GHSA-jrpm-956j-96jg
- https://github.com/http4s/http4s/security/advisories/GHSA-jrpm-956j-96jg
- https://github.com/http4s/http4s/commit/d78612a5abd5a2547487598d3342be05573e16f0
- https://github.com/http4s/http4s/releases/tag/v0.23.35
- https://github.com/http4s/http4s/releases/tag/v1.0.0-M47
Vulnérabilités liées
Tout Supply chain →- CRITICALCVE-2026-88092
Microsoft Security Advisory CVE-2026-88092 - ASP.NET Core Security Feature Bypass Vulnerability
- CRITICALCVE-2026-70188
Microsoft Security Advisory CVE-2026-70188 - ASP.NET Core Security Feature Bypass Vulnerability
- MEDIUMCVE-2026-85078
sanic chunked trailer request smuggling allows hidden second request execution
- HIGHCVE-2026-69205
Http4s Ember Transfer-Encoding value parsing (TE.CL / TE.0 request smuggling)
- CRITICALCVE-2026-69204
Http4s Ember accepts Transfer-Encoding combined with Content-Length (CL.TE request smuggling)
- HIGHCVE-2026-88008
Traefik: Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling') and Incorrect Authorization