<?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>Junrar - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/vendors/junrar/</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, 15 Oct 2026 22:27:26 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/vendors/junrar/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>Junrar RARVM Infinite Loop Denial of Service</title><link>https://feed.craftedsignal.io/briefs/2026-10-junrar-dos/</link><pubDate>Thu, 15 Oct 2026 22:27:26 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-10-junrar-dos/</guid><description>An infinite loop vulnerability in the Junrar Java library, identified as CVE-2026-97370, allows unauthenticated attackers to cause CPU exhaustion via crafted RAR4 archives.</description><content:encoded><![CDATA[<p>The Junrar Java library is susceptible to a denial-of-service (DoS) condition due to a logic flaw in the RAR virtual machine (RarVM). When processing a specially crafted RAR4 archive, the <code>RarVM.ExecuteCode</code> routine can be forced into an infinite loop. This occurs because the <code>VM_JMP</code> instruction handler improperly validates jump targets. When a jump target is equal to or greater than the defined <code>codeSize</code>, the <code>setIP()</code> function returns success without updating the instruction pointer (IP) or decrementing the <code>maxOpCount</code> safety counter.</p>
<p>Because the main VM loop continues immediately after the jump without updating these values, the same <code>VM_JMP</code> instruction is repeatedly executed. An attacker can exploit this by providing malicious archives to applications using <code>Junrar.extract()</code>, leading to permanent hang of extraction worker threads and resource exhaustion. This flaw, tracked as CVE-2026-97370, affects all versions of <code>junrar</code> up to and including 7.6.0. The vulnerability is restricted to availability impact and does not grant code execution due to Java's built-in memory protection.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker crafts a malicious RAR4 archive containing a VM program with a <code>VM_JMP</code> instruction.</li>
<li>The instruction is configured with a target address that is greater than or equal to the archive's <code>codeSize</code>.</li>
<li>The victim application invokes <code>Junrar.extract()</code> on the uploaded or retrieved malicious RAR archive.</li>
<li>The <code>RarVM</code> component encounters the crafted <code>VM_JMP</code> instruction during the extraction routine.</li>
<li>The <code>setIP()</code> function validates the target address, returns <code>true</code>, but fails to update the <code>IP</code> variable.</li>
<li>The main VM loop incorrectly ignores the <code>setIP()</code> result and executes a <code>continue</code> statement, skipping the <code>maxOpCount</code> decrement.</li>
<li>The VM loop re-executes the same <code>VM_JMP</code> instruction indefinitely.</li>
<li>The extraction thread consumes 100% CPU, leading to service degradation or process exhaustion.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation results in a persistent denial-of-service condition for applications relying on the <code>junrar</code> library. In multi-tenant environments or services that process file uploads, this vulnerability can be leveraged to exhaust worker thread pools, preventing the processing of legitimate files. No code execution is documented, but the inability to terminate the extraction loop may require a manual process restart to restore service functionality.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade the <code>junrar</code> library to a version greater than 7.6.0 as soon as a patch is available.</li>
<li>Implement strict size and complexity limits on files processed by archival libraries to mitigate potential DoS vectors.</li>
<li>Monitor application server thread health and resource utilization for extraction tasks.</li>
<li>If updating is not immediately possible, implement a watchdog timer or thread timeout for archive extraction routines to force-terminate hung processes.</li>
</ul>
]]></content:encoded><category domain="severity">low</category><category domain="type">advisory</category></item></channel></rss>