348 matches found
Http4s: DigestAuth nonce map grows unbounded
The DigestAuth server middleware's stale-nonce cleanup uses an inverted comparison: it removes fresh nonces and stops at the first stale one. Because a new nonce is created for every unauthenticated challenge, an attacker can drive the nonce map to grow without bound until the JVM runs out of hea...
GHSA-FM4G-76C9-7W69 Http4s: DigestAuth nonce map grows unbounded
The DigestAuth server middleware's stale-nonce cleanup uses an inverted comparison: it removes fresh nonces and stops at the first stale one. Because a new nonce is created for every unauthenticated challenge, an attacker can drive the nonce map to grow without bound until the JVM runs out of hea...
Missing Release of Memory after Effective Lifetime
Overview Affected versions of this package are vulnerable to Missing Release of Memory after Effective Lifetime via the DigestAuth process. An attacker can cause the application to exhaust system memory by repeatedly triggering unauthenticated challenges, leading to unbounded growth of the nonce...
Missing Release of Memory after Effective Lifetime
Overview Affected versions of this package are vulnerable to Missing Release of Memory after Effective Lifetime via the DigestAuth process. An attacker can cause the application to exhaust system memory by repeatedly triggering unauthenticated challenges, leading to unbounded growth of the nonce...
GHSA-9XWW-74XV-GJFP Http4s: DigestAuth allows replay of captured requests
The DigestAuth replay defence stores lastNc + 1 rather than the nonce-count nc value it just accepted. When a legitimate client sends non-contiguous nc values parallel or retried requests, as browsers do, the server's counter lags behind the highest nc seen, and a captured Authorization header ca...
Http4s: DigestAuth allows replay of captured requests
The DigestAuth replay defence stores lastNc + 1 rather than the nonce-count nc value it just accepted. When a legitimate client sends non-contiguous nc values parallel or retried requests, as browsers do, the server's counter lags behind the highest nc seen, and a captured Authorization header ca...
GHSA-9998-894R-FWVR Http4s Ember Transfer-Encoding value parsing (TE.CL / TE.0 request smuggling)
Summary Ember's HTTP/1.1 header parser matches the Transfer-Encoding header value with a case-sensitive substring test hValue.contains"chunked". RFC 9112 §7 requires transfer-coding names to be compared case-insensitively. A request carrying Transfer-Encoding: Chunked capital C is therefore not...
Http4s Ember Transfer-Encoding value parsing (TE.CL / TE.0 request smuggling)
Summary Ember's HTTP/1.1 header parser matches the Transfer-Encoding header value with a case-sensitive substring test hValue.contains"chunked". RFC 9112 §7 requires transfer-coding names to be compared case-insensitively. A request carrying Transfer-Encoding: Chunked capital C is therefore not...
Http4s Ember accepts Transfer-Encoding combined with Content-Length (CL.TE request smuggling)
Summary Ember's HTTP/1.1 request parser does not reject a message that carries both a Transfer-Encoding and a Content-Length header. RFC 9112 §6.1 requires a server to treat such a message as a framing error and close the connection. An intermediary that follows the RFC's CL-strip-and-forward pat...
GHSA-8H4C-X2WG-6XP8 Http4s Ember accepts Transfer-Encoding combined with Content-Length (CL.TE request smuggling)
Summary Ember's HTTP/1.1 request parser does not reject a message that carries both a Transfer-Encoding and a Content-Length header. RFC 9112 §6.1 requires a server to treat such a message as a framing error and close the connection. An intermediary that follows the RFC's CL-strip-and-forward pat...
Http4s Ember HTTP/2 does not enforce SETTINGS_MAX_CONCURRENT_STREAMS
An ember server with HTTP/2 enabled .withHttp2 does not enforce SETTINGSMAXCONCURRENTSTREAMS on streams opened by the peer. A single unauthenticated connection can open an unbounded number of concurrent streams, each of which allocates per-stream server state that is never released, exhausting th...
GHSA-9VWC-PC8P-253Q Http4s Ember HTTP/2 does not enforce SETTINGS_MAX_CONCURRENT_STREAMS
An ember server with HTTP/2 enabled .withHttp2 does not enforce SETTINGSMAXCONCURRENTSTREAMS on streams opened by the peer. A single unauthenticated connection can open an unbounded number of concurrent streams, each of which allocates per-stream server state that is never released, exhausting th...
Http4s Ember HTTP/2: unbounded inbound body buffering
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...
GHSA-6M4X-PP6Q-5JMM Http4s Ember HTTP/2: unbounded inbound body buffering
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...
CVE-2026-88975 Http4s: Ember HTTP/2 buffers a frame's declared payload before checking SETTINGS_MAX_FRAME_SIZE
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 SETTINGSMAXFRAMESIZE. An unauthenticated peer can declare a payload near 16 MiB on a...
CVE-2026-88975 Http4s: Ember HTTP/2 buffers a frame's declared payload before checking SETTINGS_MAX_FRAME_SIZE
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 SETTINGSMAXFRAMESIZE. An unauthenticated peer can declare a payload near 16 MiB on a...
EUVD-2026-79239
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 SETTINGSMAXFRAMESIZE. An unauthenticated peer can declare a payload near 16 MiB on a...
CVE-2026-88975
Http4s (a Scala HTTP library) is vulnerable in Ember's HTTP/2 read loop prior to versions 0.23.37 and 1.0.0-M48 . The loop parses a frame's 24-bit declared length but buffers the entire payload before comparing it against SETTINGS_MAX_FRAME_SIZE . An unauthenticated peer can declare a payload nea...
CVE-2026-88975 Http4s: Ember HTTP/2 buffers a frame's declared payload before checking SETTINGS_MAX_FRAME_SIZE
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 SETTINGSMAXFRAMESIZE. An unauthenticated peer can declare a payload near 16 MiB on a...
CVE-2026-69206
Http4s (a Scala HTTP service framework) has a DigestAuth replay vulnerability prior to versions 0.23.35 and 1.0.0-M47 . The replay protection records lastNc + 1 instead of the highest accepted nonce-count value. When a legitimate client sends noncontiguous nc values (due to parallel or retried re...