<?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/"><channel><title>OliveTin - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/vendors/olivetin/</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>Thu, 30 Jul 2026 15:30:25 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/vendors/olivetin/feed.xml" rel="self" type="application/rss+xml"/><item><title>OliveTin Unauthenticated OAuth2 Memory Exhaustion</title><link>https://feed.craftedsignal.io/briefs/2026-07-olivetin-dos/</link><pubDate>Thu, 30 Jul 2026 15:30:25 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-07-olivetin-dos/</guid><description>An unauthenticated attacker can trigger a denial-of-service in OliveTin by flooding the OAuth2 login endpoint, causing unbounded memory growth due to the lack of expiration for stored login states.</description><content:encoded><![CDATA[<p>OliveTin contains a vulnerability (CVE-2026-67437) where the application's OAuth2 login handler stores per-login state in an in-memory map (<code>registeredStates</code>) that grows without bounds. Because the application fails to implement time-to-live (TTL) expiry, size limits, or cleanup mechanisms for these map entries, an unauthenticated attacker can trigger a denial-of-service (DoS) condition. By sending a high volume of requests to the <code>/oauth/login</code> endpoint, an attacker forces the application to allocate memory for each new state entry, eventually leading to OOM (Out of Memory) kills or severe service degradation. This vulnerability is distinct from previous concurrent map access issues, as it persists even when synchronization primitives are correctly implemented. Defenders should note that memory is not reclaimed after the attack stops, requiring a service restart to restore normal operation.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker performs reconnaissance to confirm the target OliveTin instance has OAuth2 providers configured.</li>
<li>Attacker identifies the publicly accessible <code>/oauth/login</code> endpoint on the target instance.</li>
<li>Attacker initiates a flood of HTTP GET requests to <code>/oauth/login</code> with the <code>provider</code> parameter set.</li>
<li>The OliveTin <code>HandleOAuthLogin</code> function executes, generating a new <code>oauth2State</code> entry.</li>
<li>The application adds the new <code>oauth2State</code> to the <code>registeredStates</code> in-memory map.</li>
<li>The application performs a 302 redirect back to the attacker, but the state object remains permanently in memory.</li>
<li>The process continues until system memory is exhausted, resulting in service crash or unresponsive application state.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation results in a persistent denial-of-service for all users of the OliveTin instance. Because the leaked memory is not recovered until a process restart, even intermittent attacks can lead to cumulative degradation. The vulnerability affects all deployments configured with one or more OAuth2 providers and provides an unauthenticated vector for service disruption.</p>
<h2 id="recommendation">Recommendation</h2>
<ol>
<li>Upgrade to the patched version of OliveTin (minimum version <code>0.0.0-20260708075951-ec114e95d297</code>) immediately to incorporate state cleanup mechanisms.</li>
<li>Implement rate limiting on the <code>/oauth/login</code> endpoint at the web application firewall or reverse proxy layer to mitigate high-frequency request floods.</li>
<li>Deploy the Sigma rule below to monitor for anomalous request volumes to the OAuth2 login endpoint.</li>
<li>Monitor application memory usage metrics (e.g., via Docker stats or container orchestration monitoring) for signs of anomalous, monotonic growth associated with <code>olivetin-instance</code>.</li>
</ol>
]]></content:encoded><category domain="severity">low</category><category domain="type">advisory</category></item></channel></rss>