GitHub Advisoryadvisory · Maven
GHSA-fm4g-76c9-7w69 Http4s: DigestAuth nonce map grows unbounded
HIGH
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
References
- https://github.com/http4s/http4s/security/advisories/GHSA-fm4g-76c9-7w69 web
- https://github.com/http4s/http4s/commit/8cfeda8472954d631dfbe5dc026463a27653e482 web
- https://github.com/http4s/http4s package
- https://github.com/http4s/http4s/releases/tag/v0.23.35 web
- https://github.com/http4s/http4s/releases/tag/v1.0.0-M47 web