Description
Junrar is an open source Java RAR archive library. Prior to 7.6.1, RarVM.ExecuteCode in src/main/java/com/github/junrar/unpack/vm/RarVM.java can repeatedly execute a VM_JMP instruction whose target is greater than or equal to the prepared program's codeSize. The setIP() function returns success without changing the instruction pointer or decrementing maxOpCount, and the jump handler continues before loop-end accounting, leaving both values unchanged. A crafted RAR4 archive can therefore keep an extraction thread in an infinite CPU loop and exhaust archive-processing worker capacity. The RAR virtual machine does not expose native process execution, so the supported impact is availability loss rather than code execution. This issue is fixed in version 7.6.1.
Published: 2026-10-15
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service via infinite CPU loop during RAR extraction
Action: Patch Now
AI Analysis

Impact

The vulnerability resides in the RarVM.ExecuteCode method of the Junrar library, where a VM_JMP instruction can target an address beyond the prepared program’s code size. The setIP() function incorrectly succeeds without advancing the instruction pointer or decrementing the operation counter, allowing the jump handler to repeat without end. A malicious RAR4 archive can therefore keep an extraction thread in an infinite CPU loop, exhausting the worker capacity used for archive processing. Because the RAR virtual machine does not launch native code, the impact is limited to availability loss rather than remote code execution.

Affected Systems

Affects the Junrar Java library for handling RAR archives. Any software using junrar prior to version 7.6.1 is susceptible; the fix is available in release 7.6.1 and later. The issue applies to all Java runtimes that instantiate the RarVM to unpack RAR archives.

Risk and Exploitability

The CVSS score of 7.5 indicates a high severity of the denial‑of‑service effect. The EPSS score is below 1 %, suggesting a very low probability of widespread exploitation, and the vulnerability is not yet catalogued in CISA’s KEV. The likely attack vector is local or application‑level, where an attacker crafts a RAR4 archive containing an invalid VM_JMP instruction and forces the application to unpack it. The impact would be a high‑CPU resource drain that can stall or crash the extraction service, affecting overall availability of the application or infrastructure using Junrar.

Generated by OpenCVE AI on October 16, 2026 at 17:44 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the Junrar library to version 7.6.1 or later in all affected applications.
  • Restart or reload any components that load Junrar to ensure the new library is in use.
  • If an immediate patch is not possible, isolate the extraction code to a dedicated thread pool or separate process and impose CPU and thread limits (e.g., using cgroups or runtime resource controls) to mitigate potential exhaustion.
  • Monitor extraction worker CPU usage and trigger alerts or throttling when rates approach the imposed limits.

Generated by OpenCVE AI on October 16, 2026 at 17:44 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-h9h9-2rmf-rvhp Junrar: RarVM VM_JMP maxOpCount bypass causes infinite CPU loop during RAR4 extraction
History

Sun, 18 Oct 2026 18:45:00 +0000

Type Values Removed Values Added
First Time appeared Junrar
Junrar junrar
Vendors & Products Junrar
Junrar junrar

Fri, 16 Oct 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 15 Oct 2026 18:30:00 +0000

Type Values Removed Values Added
Description Junrar is an open source Java RAR archive library. Prior to 7.6.1, RarVM.ExecuteCode in src/main/java/com/github/junrar/unpack/vm/RarVM.java can repeatedly execute a VM_JMP instruction whose target is greater than or equal to the prepared program's codeSize. The setIP() function returns success without changing the instruction pointer or decrementing maxOpCount, and the jump handler continues before loop-end accounting, leaving both values unchanged. A crafted RAR4 archive can therefore keep an extraction thread in an infinite CPU loop and exhaust archive-processing worker capacity. The RAR virtual machine does not expose native process execution, so the supported impact is availability loss rather than code execution. This issue is fixed in version 7.6.1.
Title Junrar: RarVM VM_JMP maxOpCount bypass causes infinite CPU loop during RAR4 extraction
Weaknesses CWE-835
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-16T17:12:14.687Z

Reserved: 2026-09-24T14:16:20.200Z

Link: CVE-2026-97370

cve-icon Vulnrichment

Updated: 2026-10-16T15:22:21.685Z

cve-icon NVD

Status : Deferred

Published: 2026-10-15T19:17:49.983

Modified: 2026-10-16T20:04:29.760

Link: CVE-2026-97370

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-18T18:30:14Z

Weaknesses
  • CWE-835

    Loop with Unreachable Exit Condition ('Infinite Loop')