CyberRota Analysis
AI-GeneratedEmber servers and clients using Http4s versions prior to 0.23.35 and 1.0.0-M47 are vulnerable to a heap memory exhaustion attack due to improper handling of HTTP/2 HEADERS or PUSH_PROMISE frames without END_HEADERS. This flaw allows a remote attacker to keep an incomplete header block open, potentially leading to denial of service. Organizations utilizing these versions should prioritize upgrading to the patched releases to mitigate this high-severity risk.
Public Exploit Signal
A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.
Note: these links are listed for security research and verification purposes only.
Original NVD Description
Http4s is a Scala interface for HTTP services. Prior to 0.23.35 and 1.0.0-M47, When Ember receives an HTTP/2 HEADERS or PUSH_PROMISE frame without END_HEADERS, H2Connection buffers the header block and subsequent CONTINUATION fragments without a size bound. A remote peer can keep an incomplete block open and exhaust heap memory before request decoding, affecting an ember-server or ember-client configured with withHttp2. The remediation tracks accumulated size against SETTINGS_MAX_HEADER_LIST_SIZE derived from EmberServerBuilder.maxHeaderSize or EmberClientBuilder.maxResponseHeaderSize, sends GOAWAY when the limit is exceeded, and applies receiveHeadersTimeout to incomplete blocks. This issue is fixed in versions 0.23.35 and 1.0.0-M47.