<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>Cpe:2.3:a:http4s:http4s_ember_server:*:*:*:*:*:*:*:* - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/cpes/cpe2.3ahttp4shttp4s_ember_server/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Wed, 16 Sep 2026 01:05:52 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/cpes/cpe2.3ahttp4shttp4s_ember_server/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://feed.craftedsignal.io/favicon-32x32.png</url><title>CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/</link><width>32</width><height>32</height></image><webfeeds:icon>https://feed.craftedsignal.io/favicon.svg</webfeeds:icon><item><title>Denial of Service via Heap Exhaustion in http4s DigestAuth</title><link>https://feed.craftedsignal.io/briefs/2026-09-http4s-digestauth-dos/</link><pubDate>Wed, 16 Sep 2026 01:05:52 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-09-http4s-digestauth-dos/</guid><description>An improper eviction logic in the http4s DigestAuth middleware allows unauthenticated remote attackers to cause heap exhaustion and service failure by triggering unbounded growth of the internal nonce map.</description><content:encoded><![CDATA[<p>The http4s <code>DigestAuth</code> server middleware contains a vulnerability in its stale-nonce cleanup mechanism, documented as CVE-2026-69208. The logic responsible for removing stale nonces uses an inverted comparison, resulting in the removal of fresh nonces while retaining stale ones indefinitely. Since the middleware generates a new nonce for every unauthenticated challenge, an attacker can intentionally flood a vulnerable service with requests to populate the nonce map. Because the stale nonces are never properly evicted, the map grows without bound until the Java Virtual Machine (JVM) experiences heap exhaustion and terminates due to an OutOfMemoryError. This vulnerability affects multiple versions of <code>http4s-ember-server</code>, including the 0.23.x series up to and including 0.23.34 and the 1.0.0 milestone series from 1.0.0-M1 through 1.0.0-M46. Organizations using DigestAuth should prioritize upgrading to the patched versions where the eviction logic has been corrected and a hard cache limit has been implemented.</p>
<h2 id="impact">Impact</h2>
<p>Successful exploitation results in a persistent denial-of-service condition for the affected JVM process. This vulnerability impacts any service utilizing <code>DigestAuth</code> on its routes, potentially leading to widespread service unavailability if the application is targeted by high-volume, unauthenticated request bursts. Given the nature of the heap exhaustion, the leak is persistent and cannot be self-corrected by the application, requiring manual intervention or restarts to restore service until a patch is applied.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade <code>http4s-ember-server</code> to the latest version where the cache eviction logic is corrected and the 1,000,000 entry limit is imposed.</li>
<li>Implement a rate limiter in front of all routes protected by <code>DigestAuth</code> to mitigate the speed at which the nonce map can be filled while transitioning to patched versions.</li>
<li>Configure monitoring for JVM heap utilization to identify early indicators of memory growth associated with nonce map exhaustion.</li>
<li>Review application configurations to ensure that <code>DigestAuth</code> is only applied to routes that require authentication.</li>
</ul>
]]></content:encoded><category domain="severity">low</category><category domain="type">advisory</category></item></channel></rss>