GHSA-jrpm-956j-96jg: Medium severity maven/org.http4s:http4s-ember-core_3 vulnerability

Published Sep 15, 2026
·
Updated

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 = 1HEXDIG. 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

- RFC9112 §7.1: Chunked Transfer Coding

Affected Software

4 affected componentsFixes available
maven/org.http4s:http4s-ember-core_3>=1.0.0-M1<=1.0.0-M46
1.0.0-M47
maven/org.http4s:http4s-ember-core_2.13>=1.0.0-M1<=1.0.0-M46
1.0.0-M47
maven/org.http4s:http4s-ember-core_3<=0.23.34
0.23.35
maven/org.http4s:http4s-ember-core_2.13<=0.23.34
0.23.35

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade maven/org.http4s:http4s-ember-core_3 to a version that resolves this vulnerability.

    Fixed in 1.0.0-M47
  2. Upgrade

    Upgrade maven/org.http4s:http4s-ember-core_2.13 to a version that resolves this vulnerability.

    Fixed in 1.0.0-M47
  3. Upgrade

    Upgrade maven/org.http4s:http4s-ember-core_3 to a version that resolves this vulnerability.

    Fixed in 0.23.35
  4. Upgrade

    Upgrade maven/org.http4s:http4s-ember-core_2.13 to a version that resolves this vulnerability.

    Fixed in 0.23.35
  5. Upgrade

    Upgrade maven/org.http4s:http4s-ember-core_2.12 to a version that resolves this vulnerability.

    Fixed in 0.23.35

Event History

Sep 15, 2026
Advisory Published
via GitHub·08:01 PM
Data Sourced
via GitHub·08:01 PM
DescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

Which deployments are exposed to the server-side impact?

The server-side issue applies when ember-server is deployed as an origin behind a keep-alive intermediary that forwards the request body verbatim but interprets malformed chunk sizes differently. An unauthenticated remote attacker can exploit that arrangement.

2

What could an attacker do after exploiting the server-side parsing discrepancy?

A smuggled request can reach paths that the intermediary may have blocked, using attacker-controlled methods and headers. The issue can also enable cache poisoning and request queue hijacking.

3

When does the client-side issue matter?

The client-side response-smuggling scenario affects ember-client when http4s is used as a gateway. It requires a malicious or compromised upstream, rather than an anonymous remote client, and is described as less severe.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203