rardecode
CVE-2025-11579
MEDIUM
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft RAR with oversized dictionary header
-
ExploitDeliver file to RAR-parsing Go service
-
ExecutionLibrary allocates unbounded dictionary memory
-
ImpactOut-of-memory crash and denial of service
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Memory allocation limits
|
| Exploitation Conditions | Exploitation requires that a target application built on nwaples/rardecode <=2.1.1 actually opens/decodes an attacker-supplied RAR archive - the condition is processing untrusted RAR input, which maps to the CVSS UI:R requirement. The specific trigger is a RAR file whose declared dictionary (window) size exceeds the library's internal maxDictSize, which prior to the fix was not bounded against a configurable per-call limit. Limiting factors: the attacker cannot force exploitation without the application consuming the malicious file (no server-initiated path), there is no authentication or privilege needed on the attacker side (PR:N), and impact is restricted to availability (process OOM crash) - no confidentiality or integrity effect. Deployments that never ingest externally-controlled RAR archives are effectively unaffected. |
| Impact | This is a genuine but moderate-severity availability issue, not a top-tier emergency. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H, 6.5 MEDIUM) is internally consistent with the description and CWE-789 (memory allocation with excessive size value): an unauthenticated attacker can remotely supply a crafted RAR file, but exploitation requires the victim application/user to actually parse it (UI:R), and impact is confined to availability (C:N/I:N - no data exposure or code execution). All exploitation signals point the same low-urgency direction: EPSS is only 0.37% (29th percentile), there is NO CISA KEV listing, and NO public proof-of-concept is referenced - so no public exploit is identified at time of analysis. No SSVC decision data was provided in the input. The one strong mitigating reality is that the impact ceiling is an out-of-memory crash of the parsing process, not system compromise; for most consumers the realistic worst case is a restartable service crash. Priority should therefore be routine patching, elevated only for services that ingest attacker-controlled RAR archives in long-lived or single-process-critical contexts. |
| Exploit ScenarioDerived | An attacker crafts a RAR archive whose header declares an enormous dictionary (window) size and delivers it to a Go service that uses nwaples/rardecode <=2.1.1 to extract uploads (e.g., a file-sharing or attachment-processing backend such as the one operated by the reporting party, Mattermost). When the application opens the archive, rardecode attempts to honor the unvalidated dictionary size and allocates excessive memory, crashing the process via OOM. No public exploit code is referenced, but the malicious-input construction is straightforward given the described missing bounds check. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 08, 2026
Out-of-memory denial of service affects applications that use the Go library github.com/nwaples/rardecode 2.1.1 and earlier to unpack RAR archives: a crafted archive can declare an oversized dictionary (window) size that the decoder allocates without enforcing a per-call bound, exhausting memory and crashing the process. Exploitation requires the target application to open the attacker-supplied archive (CVSS UI:R); no credentials are needed on the attacker side (PR:N), and the impact is availability-only (C:N/I:N/A:H, CVSS 6.5). Risk is genuine but moderate: EPSS is 0.37% (29th percentile), there is no CISA KEV entry, and no public exploit code has been identified at time of analysis - deployments that never ingest externally controlled RAR files are effectively unaffected.
RemediationAI
Upstream fix available (PR/commit); released patched version not independently confirmed - the vendor points to commit 52fb4e825c936636f251f7e7deded39ab11df9a9 (https://github.com/nwaples/rardecode/commit/52fb4e825c936636f251f7e7deded39ab11df9a9), which adds a bounded dictionary check and a MaxDictionarySize option, so affected programs should update their go.mod to a revision at or after that commit and rebuild rather than relying on the 2.1.1 tag. Where rebuilding is not immediately possible, the most effective compensating control is to stop feeding externally controlled RAR archives to the decoder - reject or quarantine .rar uploads at the application boundary, or convert them out-of-process - at the cost of losing that functionality for legitimate users. Additionally, constrain the decoding process so an oversized allocation cannot take down the host: run archive extraction in a separate worker with an explicit memory cgroup/RSS limit or Go runtime memory limit, and wrap rardecode in its own process so an OOM kills only the parser; callers of the fixed library should also invoke the new MaxDictionarySize option with a value matched to expected archives (note the 4 GB default is still generous, values above 64 GB are ignored, and values below 256 kB prevent any file from decoding), and log/alert on decoder errors indicating an over-limit window size as a detection signal.
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in go
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
rardecode is a pure-Go reader for the RAR archive format, widely embedded in Go services and tools (the report came from Mattermost, indicating downstream product use). The RAR file header carries a window/dictionary size field that governs how much memory the decompressor reserves; this is a classic CWE-789 (Memory Allocation with Excessive Size Value) flaw, where an attacker-controlled length drives an allocation. Before the fix, the code only compared the declared window size against a single internal maxDictSize constant and had no configurable per-call ceiling, so an archive declaring a very large window could force a multi-gigabyte allocation and terminate the process with an OOM crash. The upstream patch (commit 52fb4e825c936636f251f7e7deded39ab11df9a9) tightens the check in reader.go to if h.winSize > maxDictSize || h.winSize > pr.opt.maxDictSize, and adds a new MaxDictionarySize(size int64) option in volume.go with DefaultMaxDictionarySize set to 4 << 30 (4 GB), documented to ignore values above 64 GB and to prevent decoding entirely if set below 256 kB. The CVSS vector (AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H) confirms a network-reachable path with low attack complexity that still depends on a user or service processing the malicious archive, and scopes the effect purely to availability.
Know when Rardecode gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Remote attacker-supplied file with no auth (AV:N/PR:N/AC:L), but the app must parse it (UI:R); only an OOM crash, so C:N/I:N/A:H, scope unchanged.
AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L
Primary rating from NVD.
CVSS VectorNVD
DescriptionNVD
github.com/nwaples/rardecode versions <=2.1.1 fail to restrict the dictionary size when reading large RAR dictionary sizes, which allows an attacker to provide a specially crafted RAR file and cause Denial of Service via an Out Of Memory Crash.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Affected Products (CPE)NVD
Same technique Denial Of Service
View allVendor StatusVendor
SUSE
Severity: Moderate| Product | Status |
|---|---|
| openSUSE Leap 16.0 | Fixed |
| openSUSE Tumbleweed | Fixed |
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| SUSE Multi-Linux Manager Client Tools for SLE 12 | Affected |
| openSUSE Leap 15.4 | Affected |
| openSUSE Leap 15.5 | Affected |
| openSUSE Leap 15.6 | Affected |
| SUSE Linux Enterprise Server 16.2 | Affected |
NVD
CVE.org
EPSS
GitHub
Exploit-DB