Http4s: Ember chunk parser lenience (TE.TE request smuggling)
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
Betroffene Software
Klicken Sie auf eine Technologie, um alle zugehörigen Schwachstellen anzuzeigen.
| Plattform | Paket | Anfällige Versionen | Behoben in |
|---|---|---|---|
| Java / Kotlin (Maven) | org.http4s:http4s-ember-core_2.12 | < 0.23.35 | 0.23.35 |
| Java / Kotlin (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 |
| Java / Kotlin (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 |
Verweise
- CVSS-Vektor
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N- Schwäche (CWE)
CWE-444- Plattform
- Java / Kotlin (Maven)
- Paket
org.http4s:http4s-ember-core_2.12, org.http4s:http4s-ember-core_2.13, org.http4s:http4s-ember-core_3- Veröffentlicht
- 15.09.2026
- Aktualisiert
- 11.10.2026 13:20
Quellen und Lizenzen
OSV / GitHub Advisory Database - GHSA-jrpm-956j-96jg - CC BY 4.0
Schwachstellenhistorie: org.http4s:http4s-ember-core_3
Alle veröffentlichten Schwachstellen dieses Pakets (Java / Kotlin (Maven)), neueste zuerst. Zeigt, ob es ein einmaliger Ausrutscher ist oder ein Paket, das man im Auge behalten muss.
- Einträge insgesamt
- 11
- Erste → letzte
- 09.2025 09.2026
- Ohne Fix
- 0
- In Angriffen ausgenutzt
- 0
Verteilung nach Schweregrad
- Kritisch 1
- Hoch 7
- Mittel 3
Veröffentlichungen pro Jahr
- 2025: 1
- 2026: 10
-
Http4s: Ember chunk parser lenience (TE.TE request smuggling) dieser Eintrag
Erkennen Sie Schwachstellen in Ihrer Anwendung
Mit der DockRay-Integration und aktivierter Softwareinventarisierung prüft DockRay gemeldete Komponentenversionen auf bekannte Schwachstellen und benachrichtigt Sie über bestätigte Treffer. Die Abdeckung hängt von der unterstützten Technologie und den verfügbaren Meldungen ab.