Vulnerability · Published Sep 15, 2026 · Assigned by GitHub_M
CVE-2026-88975Http4s: Ember HTTP/2 buffers a frame's declared payload before checking SETTINGS_MAX_FRAME_SIZE
High 7.5
In plain English
A high-severity uncontrolled resource consumption in http4s from http4s. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.6% (higher than 50% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
Http4s is a Scala interface for HTTP services. Prior to 0.23.37 and 1.0.0-M48, Ember’s HTTP/2 read loop parses a frame’s 24-bit declared length but waits to buffer the entire payload before comparing it with SETTINGS_MAX_FRAME_SIZE. An unauthenticated peer can declare a payload near 16 MiB on a connection where Ember advertised 16 KiB and either complete or slowly stream it, causing up to 1024-fold memory amplification per connection before processFrame can reject the frame. The shared H2Connection.readLoop affects withHttp2 servers and clients, while HTTP/2-disabled configurations are unaffected, and the patch rejects oversized frames before buffering their payloads. This issue is fixed in versions 0.23.37 and 1.0.0-M48.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Maven | org.http4s:http4s-ember-core_2.12 | 0.23.37 | GHSA-gq9p-f254-h286 |
| Maven | org.http4s:http4s-ember-core_2.13 | 0.23.37 | GHSA-gq9p-f254-h286 |
| Maven | org.http4s:http4s-ember-core_2.13 | 1.0.0-M48 | GHSA-gq9p-f254-h286 |
| Maven | org.http4s:http4s-ember-core_3 | 0.23.37 | GHSA-gq9p-f254-h286 |
| Maven | org.http4s:http4s-ember-core_3 | 1.0.0-M48 | GHSA-gq9p-f254-h286 |
Affected products (as reported)
Weakness: CWE-400 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
References
- https://github.com/http4s/http4s/security/advisories/GHSA-gq9p-f254-h286 x_refsource_CONFIRM
- https://github.com/http4s/http4s/commit/87cf334fa3f608ef7d3eb359e71e037ba3336d29 x_refsource_MISC
- https://github.com/http4s/http4s/releases/tag/v0.23.37 x_refsource_MISC
- https://github.com/http4s/http4s/releases/tag/v1.0.0-M48 x_refsource_MISC