CVE-2026-69202: Http4s Ember HTTP/2 Unbounded Inbound Body Buffering Vulnerability

HIGH
Advisory Identifier: GHSA-6m4x-pp6q-5jmm
CVSS 7.5
CWE-400 CWE-770
Published
Advisory Summary

CVE-2026-69202 is a HIGH (CVSS 7.5) unbounded inbound body buffering vulnerability (CWE-400: Uncontrolled Resource Consumption) affecting Http4s Ember HTTP/2 libraries in the Maven ecosystem. The issue involves unbounded inbound body buffering. Remediation is available by upgrading affected packages to version 0.23.35, 1.0.0-M47.

CVE-2026-69202 at a Glance

CVE Identifier CVE-2026-69202
GHSA Identifier GHSA-6m4x-pp6q-5jmm
Severity HIGH
CVSS v3.1 Base Score 7.5
CWE Classification CWE-400: Uncontrolled Resource Consumption
Affected Product Http4s Ember HTTP/2
Package Ecosystem Maven
Published Date
Last Updated

Security Impact

CVSS: 7.5

The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H).

Attack Vector Network (AV:N)
Attack Complexity Low (AC:L)
Privileges Required None (PR:N)
User Interaction None (UI:N)
Scope Unchanged (S:U)
Confidentiality None (C:N)
Integrity None (I:N)
Availability High (A:H)

How to Fix CVE-2026-69202

To remediate this vulnerability, upgrade all affected Http4s Ember HTTP/2 dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.

org.http4s:http4s-ember-core_2.12 fixed: 0.23.35
<dependency>
    <groupId>org.http4s</groupId>
    <artifactId>http4s-ember-core_2.12</artifactId>
    <version>0.23.35</version>
</dependency>
org.http4s:http4s-ember-core_2.13 fixed: 0.23.35
<dependency>
    <groupId>org.http4s</groupId>
    <artifactId>http4s-ember-core_2.13</artifactId>
    <version>0.23.35</version>
</dependency>
org.http4s:http4s-ember-core_3 fixed: 0.23.35
<dependency>
    <groupId>org.http4s</groupId>
    <artifactId>http4s-ember-core_3</artifactId>
    <version>0.23.35</version>
</dependency>
org.http4s:http4s-ember-core_2.13 fixed: 1.0.0-M47
<dependency>
    <groupId>org.http4s</groupId>
    <artifactId>http4s-ember-core_2.13</artifactId>
    <version>1.0.0-M47</version>
</dependency>
org.http4s:http4s-ember-core_3 fixed: 1.0.0-M47
<dependency>
    <groupId>org.http4s</groupId>
    <artifactId>http4s-ember-core_3</artifactId>
    <version>1.0.0-M47</version>
</dependency>
Verify Direct and Transitive Dependencies

Run the following command in your project directory to verify that all resolved dependencies use the patched release:

mvn dependency:tree -Dincludes=org.http4s

How to Check if You Are Affected

To determine whether your Java application is affected by CVE-2026-69202, inspect your build dependencies using the Maven Dependency Plugin:

mvn dependency:tree -Dincludes=org.http4s

Analyze the terminal output to locate any version of Http4s Ember HTTP/2 in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 0.23.35), your application is affected.

Note: The mvn dependency:tree -Dincludes=org.http4s command inspects the resolved dependency graph declared in your project's POM files; it does not perform automated security scanning or inspect runtime dynamic classpaths. Always verify runtime container classpaths and shaded JARs.

Technical Details

Vulnerability Mechanism & Technical Analysis

This vulnerability is classified under CWE-400: Uncontrolled Resource Consumption, where the product does not properly control the allocation and maintenance of a limited resource. In Http4s Ember HTTP/2, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.

Source Advisory Statement

Ember's HTTP/2 stack replenishes the inbound flow-control window based on bytes received off the wire, not bytes consumed by the application. Received DATA is buffered in an unbounded per-stream channel. Flow control therefore provides no backpressure: a peer can stream a large or unbounded body faster than the application drains it and the connection retains every payload in heap. This is the read-path mirror of the [outbound queue issue](https://github.com/http4s/http4s/security/advisories/GHSA-8f3q-3jmv-7prw). This affects an Ember receiving a request body and an Ember client receiving a response body from a hostile server. ### Impact Unauthenticated remote denial of service (OOM) against any Ember server built `.withHttp2` for a non-draining or slow-draining route, and against an Ember client consuming from a hostile or compromised server. ### Workarounds - Disable HTTP/2 to remove the vector entirely. - Apply an aggregate request-entity size limit (e.g. `EntityLimiter` middleware) on routes that consume the body. - Ensure handlers fully drain request bodies with aggressive idle timeouts.

CVE-2026-69202 Affected Http4s Ember HTTP/2 Versions

5 component(s)
Fixed Versions:
0.23.351.0.0-M47
Product / Package Ecosystem Affected Versions Fixed Version
org.http4s:http4s-ember-core_2.12
Maven
< 0.23.35
0.23.35
org.http4s:http4s-ember-core_2.13
Maven
< 0.23.35
0.23.35
org.http4s:http4s-ember-core_3
Maven
< 0.23.35
0.23.35
org.http4s:http4s-ember-core_2.13
Maven
≥ 1.0.0-M1
< 1.0.0-M47
1.0.0-M47
org.http4s:http4s-ember-core_3
Maven
≥ 1.0.0-M1
< 1.0.0-M47
1.0.0-M47

References

Frequently Asked Questions

What is CVE-2026-69202?
CVE-2026-69202 is a security vulnerability in Http4s Ember HTTP/2 involving unbounded inbound body buffering under CWE-400: Uncontrolled Resource Consumption.
Which Http4s Ember HTTP/2 versions are affected?
Affected versions include releases prior to 0.23.35, 1.0.0-M47 across affected packages: org.http4s:http4s-ember-core_2.12, org.http4s:http4s-ember-core_2.13, org.http4s:http4s-ember-core_3.
What version fixes CVE-2026-69202?
Upgrading to 0.23.35, 1.0.0-M47 (or the latest patched release for your respective branch) resolves the vulnerability.
Is http4s-ember-core_2.12 affected?
Yes, org.http4s:http4s-ember-core_2.12 is affected in releases prior to 0.23.35. Upgrade your dependency to 0.23.35 or later.
Is http4s-ember-core_2.13 affected?
Yes, org.http4s:http4s-ember-core_2.13 is affected in releases prior to 0.23.35, 1.0.0-M47. Upgrade your dependency to 0.23.35, 1.0.0-M47 or later.
What is the CVSS score of CVE-2026-69202?
CVE-2026-69202 has a CVSS v3.1 base score of 7.5 (HIGH) with vector string CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H.
What CWE is associated with CVE-2026-69202?
CVE-2026-69202 is classified under CWE-400: Uncontrolled Resource Consumption (The product does not properly control the allocation and maintenance of a limited resource.).
How can I check Maven dependencies for CVE-2026-69202?
Run the dependency tree command: 'mvn dependency:tree -Dincludes=org.http4s'. This command lists direct and transitive dependencies in your build configuration so you can verify if a vulnerable version is resolved.
Machine-readable OSV JSON OSV v1.5 Schema
Normalized schema output
{
  "schema_version" : "1.4.0",
  "id" : "GHSA-6m4x-pp6q-5jmm",
  "modified" : "2026-09-15T19:52:58Z",
  "published" : "2026-09-15T19:52:58Z",
  "aliases" : [ "CVE-2026-69202" ],
  "summary" : "Http4s Ember HTTP/2: unbounded inbound body buffering",
  "details" : "Ember's HTTP/2 stack replenishes the inbound flow-control window based on bytes\nreceived off the wire, not bytes consumed by the application.  Received DATA is buffered in an unbounded per-stream channel.  Flow control therefore\nprovides no backpressure: a peer can stream a large or unbounded body faster than the application drains it and the connection retains every payload in heap.\n\nThis is the read-path mirror of the [outbound queue issue](https://github.com/http4s/http4s/security/advisories/GHSA-8f3q-3jmv-7prw).\n\nThis affects an Ember receiving a request body and an Ember client receiving a response body from a hostile server.\n\n### Impact\n\nUnauthenticated remote denial of service (OOM) against any Ember server built\n`.withHttp2` for a non-draining or slow-draining route, and against an Ember client consuming from a hostile or compromised server.\n\n### Workarounds\n\n- Disable HTTP/2 to remove the vector entirely.\n- Apply an aggregate request-entity size limit (e.g. `EntityLimiter` middleware) on routes that consume the body.\n- Ensure handlers fully drain request bodies with aggressive idle timeouts.",
  "severity" : [ {
    "type" : "CVSS_V3",
    "score" : "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
  } ],
  "affected" : [ {
    "package" : {
      "ecosystem" : "Maven",
      "name" : "org.http4s:http4s-ember-core_2.12"
    },
    "ranges" : [ {
      "type" : "ECOSYSTEM",
      "events" : [ {
        "introduced" : "0"
      }, {
        "fixed" : "0.23.35"
      } ]
    } ],
    "database_specific" : {
      "last_known_affected_version_range" : "<= 0.23.34"
    }
  }, {
    "package" : {
      "ecosystem" : "Maven",
      "name" : "org.http4s:http4s-ember-core_2.13"
    },
    "ranges" : [ {
      "type" : "ECOSYSTEM",
      "events" : [ {
        "introduced" : "0"
      }, {
        "fixed" : "0.23.35"
      } ]
    } ],
    "database_specific" : {
      "last_known_affected_version_range" : "<= 0.23.34"
    }
  }, {
    "package" : {
      "ecosystem" : "Maven",
      "name" : "org.http4s:http4s-ember-core_3"
    },
    "ranges" : [ {
      "type" : "ECOSYSTEM",
      "events" : [ {
        "introduced" : "0"
      }, {
        "fixed" : "0.23.35"
      } ]
    } ],
    "database_specific" : {
      "last_known_affected_version_range" : "<= 0.23.34"
    }
  }, {
    "package" : {
      "ecosystem" : "Maven",
      "name" : "org.http4s:http4s-ember-core_2.13"
    },
    "ranges" : [ {
      "type" : "ECOSYSTEM",
      "events" : [ {
        "introduced" : "1.0.0-M1"
      }, {
        "fixed" : "1.0.0-M47"
      } ]
    } ],
    "database_specific" : {
      "last_known_affected_version_range" : "<= 1.0.0-M46"
    }
  }, {
    "package" : {
      "ecosystem" : "Maven",
      "name" : "org.http4s:http4s-ember-core_3"
    },
    "ranges" : [ {
      "type" : "ECOSYSTEM",
      "events" : [ {
        "introduced" : "1.0.0-M1"
      }, {
        "fixed" : "1.0.0-M47"
      } ]
    } ],
    "database_specific" : {
      "last_known_affected_version_range" : "<= 1.0.0-M46"
    }
  } ],
  "references" : [ {
    "type" : "WEB",
    "url" : "https://github.com/http4s/http4s/security/advisories/GHSA-6m4x-pp6q-5jmm"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/http4s/http4s/commit/22d2335975d02dc9fb9fb75cfe002279521d86ac"
  }, {
    "type" : "PACKAGE",
    "url" : "https://github.com/http4s/http4s"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/http4s/http4s/releases/tag/v0.23.35"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/http4s/http4s/releases/tag/v1.0.0-M47"
  } ],
  "database_specific" : {
    "cwe_ids" : [ "CWE-400", "CWE-770" ],
    "severity" : "HIGH",
    "github_reviewed" : true,
    "github_reviewed_at" : "2026-09-15T19:52:58Z",
    "nvd_published_at" : null
  }
}