<?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>Compression — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/compression/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata — refreshed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Wed, 06 May 2026 20:53:23 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/compression/feed.xml" rel="self" type="application/rss+xml"/><item><title>Snappier SnappyStream Decompression Infinite Loop Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2026-05-snappier-dos/</link><pubDate>Wed, 06 May 2026 20:53:23 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-snappier-dos/</guid><description>Snappier versions 1.3.0 and earlier are vulnerable to a denial-of-service condition where a malformed Snappy stream input to `SnappyStream` decompression causes an infinite loop, consuming a thread until the process is terminated.</description><content:encoded><![CDATA[<p>The Snappier library, specifically the <code>SnappyStream</code> class, is susceptible to a denial-of-service vulnerability when decompressing malformed Snappy streams in framed format. An attacker who can control the input to the <code>SnappyStream</code> decompression process can trigger an infinite loop, leading to excessive CPU consumption and thread exhaustion. This issue affects applications using Snappier version 1.3.0 and earlier. The vulnerability stems from an unhandled condition in the decompression logic, causing the <code>SnappyStreamDecompressor.Decompress</code> method to repeatedly call <code>Crc32CAlgorithm.Append</code> without termination. Standard exception handling mechanisms (try/catch blocks) are ineffective in preventing the hang, making it difficult to mitigate without terminating the affected process.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker crafts a malformed Snappy compressed data stream (as small as 15 bytes).</li>
<li>The attacker sends this malformed stream to a service or application using the Snappier library for decompression.</li>
<li>The application instantiates a <code>SnappyStream</code> object with <code>CompressionMode.Decompress</code> to handle the incoming data stream.</li>
<li>The application calls <code>CopyTo()</code> or a similar method on the <code>SnappyStream</code> to decompress the data.</li>
<li>The <code>SnappyStreamDecompressor.Decompress</code> method is invoked internally.</li>
<li>Due to the malformed input, an infinite loop occurs within <code>SnappyStreamDecompressor.Decompress</code> involving repeated calls to <code>Crc32CAlgorithm.Append</code>.</li>
<li>A single CPU core is consumed at 100% by the affected thread.</li>
<li>The application hangs indefinitely, requiring termination to recover.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability results in a denial-of-service condition. An attacker can remotely trigger the infinite loop by sending malicious data to any application that utilizes the vulnerable <code>Snappier.SnappyStream</code> for decompression. This can lead to resource exhaustion, application unavailability, and potentially impact other services relying on the same system. Since the <code>try/catch</code> doesn&rsquo;t work, the service will remain inoperable until manually restarted.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to a patched version of the Snappier library that addresses CVE-2026-44302.</li>
<li>Implement input validation and sanitization on data streams prior to decompression using <code>Snappier.SnappyStream</code>.</li>
<li>Monitor CPU usage for processes utilizing the Snappier library. Deploy the process monitoring rule below to detect potential exploitation attempts based on high CPU usage.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>denial-of-service</category><category>compression</category><category>infinite-loop</category></item></channel></rss>