CVE-2026-97370
HighCVSS 7.5Summary
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.
Risk Assessment
An attacker can deliver a malicious RAR archive that hangs the processing thread and exhausts server resources, causing denial of service for legitimate users.
Recommendation
Upgrade the Junrar library to version 7.6.1 or later; until then, limit processing of untrusted RAR archives.
Other vulnerabilities in Junrar
See all- CVE-2026-86071Low
Junrar is an open source Java RAR archive library. Prior to version 7.6.1, LocalFolderExtractor can create directories outside the intended extraction root when processing a crafted archive entry, because createFile() validates only the final canonical file path while makeFile() creates intermediate path segments with unchecked mkdir() calls. This can enable filesystem pollution or file-versus-directory squatting that can make later security-sensitive writes fail.
- CVE-2026-41245Medium
In the Junrar library prior to version 7.5.10, a path traversal vulnerability in the `LocalFolderExtractor` class allows an attacker to write arbitrary files with attacker-controlled content into sibling directories when extracting a crafted RAR archive.
Original NVD description (English source)
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.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

