{"id":"CVE-2026-54556","title":"Http4s is a Scala interface for HTTP services","summary":"Http4s is a Scala interface for HTTP services. Prior to 0.23.35 and 1.0.0-M47, an unauthenticated HTTP/2 peer can cause an out-of-memory denial of service in the Ember backend with HTTP/2 enabled. The Hpack wrapper in ember-core/shared/s…","severity":"high","cwe":["CWE-409"],"vendor":"http4s","product":"org.http4s:http4s-ember-core_2.12","affected":["org.http4s:http4s-ember-core_2.12 <= 0.23.34","org.http4s:http4s-ember-core_2.13 >= 1.0.0-M1, < 1.0.0-M46","org.http4s:http4s-ember-core_3 <= 0.23.34","org.http4s:http4s-ember-core_3 >= 1.0.0-M1, < 1.0.0-M46","org.http4s:http4s-ember-core_2.13 <= 0.23.34"],"patched":["org.http4s:http4s-ember-core_2.12 0.23.35","org.http4s:http4s-ember-core_2.13 1.0.0-M47","org.http4s:http4s-ember-core_3 0.23.35","org.http4s:http4s-ember-core_3 1.0.0-M47","org.http4s:http4s-ember-core_2.13 0.23.35"],"published":"2026-08-26","updated":"2026-09-09","sourceUpdated":"2026-09-09T21:09:13.080","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-54556","references":[{"url":"https://github.com/http4s/http4s/commit/6e8eccd64a6a74ab4811897881e95e0e1b3a818e","label":"security-advisories@github.com"},{"url":"https://github.com/http4s/http4s/releases/tag/v0.23.35","label":"security-advisories@github.com"},{"url":"https://github.com/http4s/http4s/releases/tag/v1.0.0-M47","label":"security-advisories@github.com"},{"url":"https://github.com/http4s/http4s/security/advisories/GHSA-vmm3-xgcx-67hm","label":"security-advisories@github.com"},{"url":"https://github.com/advisories/GHSA-vmm3-xgcx-67hm"}],"tags":["nvd","ghsa","maven"],"epss":0.00302,"epssPercentile":0.23028,"aliases":["GHSA-vmm3-xgcx-67hm"],"ecosystem":"maven","ingestedAt":"2026-08-26T14:45:08.505Z","slug":"CVE-2026-54556","body":"## Overview\n\nHttp4s is a Scala interface for HTTP services. Prior to 0.23.35 and 1.0.0-M47, an unauthenticated HTTP/2 peer can cause an out-of-memory denial of service in the Ember backend with HTTP/2 enabled. The Hpack wrapper in ember-core/shared/src/main/scala/org/http4s/ember/core/h2/Hpack.scala concatenates HEADERS and CONTINUATION frame fragments and decodes them into a single List, but maxHeaderSize accounting does not include indexed headers or HPACK per-header overhead. A small compressed header block can therefore expand into a much larger decoded representation that remains in memory for processing. Servers exposed to untrusted HTTP/2 traffic and clients directed to an untrusted HTTP/2 server are affected, and concurrent malicious connections can exhaust the process heap. This issue is fixed in versions 0.23.35 and 1.0.0-M47.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.\n\n## Package advisory (CVE-2026-54556)\n\nAffected packages:\n\n- `org.http4s:http4s-ember-core_2.12 <= 0.23.34`\n- `org.http4s:http4s-ember-core_2.13 >= 1.0.0-M1, < 1.0.0-M46`\n- `org.http4s:http4s-ember-core_3 <= 0.23.34`\n- `org.http4s:http4s-ember-core_3 >= 1.0.0-M1, < 1.0.0-M46`\n- `org.http4s:http4s-ember-core_2.13 <= 0.23.34`\n\nPatched in:\n\n- `org.http4s:http4s-ember-core_2.12 0.23.35`\n- `org.http4s:http4s-ember-core_2.13 1.0.0-M47`\n- `org.http4s:http4s-ember-core_3 0.23.35`\n- `org.http4s:http4s-ember-core_3 1.0.0-M47`\n- `org.http4s:http4s-ember-core_2.13 0.23.35`\n\nSource: https://github.com/advisories/GHSA-vmm3-xgcx-67hm","depth":"twilight","depthScore":41,"depthScoreParts":{"impact":41.3,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[]}