GitHub Advisoryadvisory · Maven

GHSA-fm4g-76c9-7w69 Http4s: DigestAuth nonce map grows unbounded

HIGH Published 2026-09-15 Modified 2026-09-15 Official page ↗
Aliases
CVE-2026-69208
Ecosystem
Maven
Packages
org.http4s:http4s-ember-server_2.12, org.http4s:http4s-ember-server_2.13, org.http4s:http4s-ember-server_3
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weaknesses
CWE-400, CWE-401
Reviewed
2026-09-15

Affected packages

• Maven org.http4s:http4s-ember-server_2.12: < 0.23.35 → fixed in 0.23.35 • Maven org.http4s:http4s-ember-server_2.13: < 0.23.35 → fixed in 0.23.35 • Maven org.http4s:http4s-ember-server_3: < 0.23.35 → fixed in 0.23.35 • Maven org.http4s:http4s-ember-server_2.13: >= 1.0.0-M1, < 1.0.0-M47 → fixed in 1.0.0-M47 • Maven org.http4s:http4s-ember-server_3: >= 1.0.0-M1, < 1.0.0-M47 → fixed in 1.0.0-M47

Description

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 heap. Impact Unauthenticated remote denial of service (gradual heap exhaustion / OOM) against any service using DigestAuth. The leak is persistent. Preconditions • Application uses `DigestAuth` on at least one route. Workarounds • Front the DigestAuth protected routes with a rate limiter to slow the leak. • Restart periodically. Fixes • The eviction logic is corrected. • A max cache size of 1000000 is imposed to protected against a burst between evictions. This limit is not yet configurable.

Related

Alias · CVE (1)

  • CVE-2026-69208 Http4s is a Scala interface for HTTP services. vulnerability

Weakness · CWE (2)

  • CWE-400 Uncontrolled Resource Consumption weakness
  • CWE-401 Missing Release of Memory after Effective Lifetime weakness

References