GHSA-9vwc-pc8p-253q: High severity maven/org.http4s:http4s-ember-core_3 vulnerability

Published Sep 15, 2026
·
Updated

An ember server with HTTP/2 enabled (.withHttp2) does not enforce SETTINGSMAXCONCURRENTSTREAMS on streams opened by the peer. A single unauthenticated connection can open an unbounded number of concurrent streams, each of which allocates per-stream server state that is never released, exhausting the heap.

Impact

Unauthenticated remote denial of service (memory exhaustion) against any Ember server built .withHttp2. This is the resource-exhaustion class of the HTTP/2 "Rapid Reset" family (CVE-2023-44487).

The same unchecked allocation path is reachable on the client via server-initiated PUSHPROMISE frames, so a malicious or compromised server can exhaust an ember-client's heap the same way.

Preconditions

- Server: with .withHttp2 enabled. - Client: makes HTTP/2 requests to malicious or compromised sites. enablePush is not enforced.

Workarounds

- Disable HTTP/2 on EmberServerBuilder or EmberClientBuilder (default) - Client only: avoid HTTP/2 to untrusted servers until patched.

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
  6. Configuration

    Disable HTTP/2 by not enabling `.withHttp2` on `EmberServerBuilder` and `EmberClientBuilder` (workaround: “Disable HTTP/2 on `EmberServerBuilder` or `EmberClientBuilder` (default)”).

    EmberServerBuilder / EmberClientBuilder withHttp2 = disable
  7. Configuration

    Avoid making HTTP/2 requests to untrusted servers until the issue is patched.

    HTTP/2 (client/server usage) HTTP/2 to untrusted servers = avoid

Event History

Sep 15, 2026
Advisory Published
via GitHub·07:53 PM
Data Sourced
via GitHub·07:53 PM
DescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

Which deployments are exposed by default?

HTTP/2 is disabled by default on both EmberServerBuilder and EmberClientBuilder. Servers are exposed only when built with .withHttp2; clients are exposed when they make HTTP/2 requests to malicious or compromised sites.

2

What does an attacker need to exploit an affected server?

An attacker needs only network access to the HTTP/2-enabled server. A single unauthenticated connection can open unlimited concurrent streams and exhaust heap memory.

3

Are clients affected even if HTTP/2 server push is not intentionally enabled?

Yes. The client-side allocation path is reachable through server-initiated PUSH_PROMISE frames, and enablePush is not enforced. A malicious or compromised HTTP/2 server can therefore exhaust the client's heap.

4

What can be done if patching cannot happen immediately?

Disable HTTP/2 on EmberServerBuilder or EmberClientBuilder. For clients, avoid HTTP/2 connections to untrusted servers until patched.

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