CyberRota Analysis
AI-GeneratedEmber's HTTP/2 read loop in Http4s versions prior to 0.23.37 and 1.0.0-M48 is vulnerable to a memory amplification attack, where an unauthenticated peer can exploit the frame length declaration to cause excessive memory usage, potentially leading to denial of service. This vulnerability primarily affects servers and clients using HTTP/2, making it critical for organizations utilizing these configurations to prioritize upgrading to the patched versions to mitigate the 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.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.