CVE-2025-11579
Medium · 5.3rardecode: DoS risk due to unrestricted RAR dictionary sizes
CVSS
5.3
EPSS
0.4%
Published
Oct 10, 2025
CISA due date
—
Cloudanix analysis
A flaw in code that reads RAR files lets an attacker send a specially made file that crashes the program by using too much memory, which can take services offline until they are restarted.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Improper Input Validation
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The library fails to enforce an upper bound on the RAR dictionary size parameter, allowing a malicious archive to trigger unbounded memory allocation that results in an out-of-memory crash.
Why it matters to the business
Systems that unpack or inspect RAR archives can be forced offline or become unresponsive, interrupting services that rely on archive processing and requiring manual restarts or reboots.
How an attack unfolds
An attacker crafts a RAR archive with an excessively large dictionary size, then supplies the file to any process using the vulnerable rardecode library; when the library reads the archive header it allocates memory proportional to the declared size and crashes.
How to fix it
Upgrade nwaples/rardecode to commit 52fb4e825c936636f251f7e7deded39ab11df9a9 or later; for SUSE packages update google-guest-agent to 20250116.00-150000.1.57.1 or newer on the listed products. Where immediate patching is not possible, restrict untrusted RAR files from reaching archive-processing code paths.
How to confirm the fix worked
Confirm the installed rardecode or google-guest-agent package version matches or exceeds the listed fixed versions; test by attempting to process a RAR with a large dictionary size and verifying the process no longer crashes.
Typical attack path
- Identify a target that accepts or processes RAR files via google-guest-agent or the rardecode library
- Generate a specially crafted RAR archive containing an oversized dictionary size value
- Deliver the archive to the target through upload, email attachment, or automated update channel
- Trigger archive processing so the library attempts the unbounded allocation
- Observe the resulting out-of-memory crash and service disruption
How to detect it
Look for repeated out-of-memory termination events or abrupt process exits in logs of services that handle RAR files; correlate with file-creation or upload events involving RAR archives immediately preceding the crash.
What your security team should do
- Apply the listed fixed package versions immediately on all affected SUSE and openSUSE systems
- Add archive-size and memory-usage limits around any RAR processing workflows until patches are deployed
- Monitor for repeated out-of-memory events on hosts running google-guest-agent
- Review and restrict inbound RAR file sources to reduce exposure surface
The record
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.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Go | github.com/nwaples/rardecode | 0 | No fix |
| Go | github.com/nwaples/rardecode/v2 | 0 | 2.2.0 |
| Chainguard | cg | 0 | 0_git20251010-r1 |
| Chainguard | chainctl | 0 | 0.2.158-r0 |
| Chainguard | chezmoi | 0 | 2.66.0-r1 |
| Chainguard | docker-credential-cgr | 0 | 0.2.158-r0 |
| Chainguard | filebrowser | 0 | 2.44.0-r1 |
| Chainguard | filebrowser-compat | 0 | 2.44.0-r1 |
| Chainguard | gitleaks | 0 | 8.28.0-r3 |
| Chainguard | gotenberg | 0 | 8.24.0-r1 |
| Chainguard | gptscript | 0 | 0.9.5-r17 |
| Chainguard | grafana-alloy | 0 | 0 |
| Chainguard | grafana-alloy-fips | 0 | 0 |
| Chainguard | grype | 0 | 0.100.0-r1 |
| Chainguard | grype-db | 0 | 0.44.0-r1 |
| Chainguard | grype-db-manager | 0 | 0.44.0-r1 |
| Chainguard | grype-fips | 0 | 0.100.0-r1 |
| Chainguard | guaccsub | 0 | 1.0.1-r3 |
| Chainguard | guacgql | 0 | 1.0.1-r3 |
| Chainguard | guacingest | 0 | 1.0.1-r3 |
| Chainguard | k9s | 0 | 0.50.15-r1 |
| Chainguard | k9s-fips | 0 | 0.50.15-r1 |
| Chainguard | kots | 0 | 1.128.2-r1 |
| Chainguard | kots-compat | 0 | 1.128.2-r1 |
| Chainguard | kots-symlink-compat | 0 | 1.128.2-r1 |
| Chainguard | kubescape | 0 | 3.0.41-r1 |
| Chainguard | mattermost-10.10 | 0 | 10.10.3-r1 |
| Chainguard | mattermost-10.10-compat | 0 | 10.10.3-r1 |
| Chainguard | mattermost-10.11 | 0 | 10.11.3-r2 |
| Chainguard | mattermost-10.11-compat | 0 | 10.11.3-r2 |
| Chainguard | mattermost-10.12 | 0 | 10.12.0-r2 |
| Chainguard | mattermost-10.12-compat | 0 | 10.12.0-r2 |
| Chainguard | mattermost-10.5-compat | 0 | 10.5.14-r2 |
| Chainguard | mattermost-10.6-compat | 0 | 10.6.6-r9 |
| Chainguard | mattermost-10.7-compat | 0 | 10.7.4-r7 |
| Chainguard | mattermost-10.8-compat | 0 | 10.8.4-r6 |
| Chainguard | mattermost-10.9-compat | 0 | 10.9.5-r5 |
| Chainguard | mattermost-fips-10.10 | 0 | 10.10.3-r1 |
| Chainguard | mattermost-fips-10.10-compat | 0 | 10.10.3-r1 |
| Chainguard | mattermost-fips-10.11 | 0 | 10.11.3-r1 |
| Chainguard | mattermost-fips-10.11-compat | 0 | 10.11.3-r1 |
| Chainguard | mattermost-fips-10.12 | 0 | 10.12.0-r2 |
| Chainguard | mattermost-fips-10.12-compat | 0 | 10.12.0-r2 |
| Chainguard | mattermost-fips-10.5-compat | 0 | 10.5.14-r2 |
| Chainguard | mattermost-fips-10.6-compat | 0 | 10.6.6-r9 |
| Chainguard | mattermost-fips-10.7-compat | 0 | 10.7.4-r7 |
| Chainguard | mattermost-fips-10.8-compat | 0 | 10.8.4-r6 |
| Chainguard | mattermost-fips-10.9-compat | 0 | 10.9.5-r5 |
| Chainguard | nuclei | 0 | 3.4.10-r3 |
| Chainguard | syft | 0 | 1.33.0-r1 |
| Chainguard | syft-fips | 0 | 1.33.0-r1 |
| Chainguard | trufflehog | 0 | 3.90.8-r2 |
| Chainguard | trufflehog-fips | 0 | 3.90.8-r1 |
| Chainguard | undock | 0 | 0.10.0-r6 |
| Chainguard | vault-1.16-compat | 0 | 1.16.3-r28 |
| Chainguard | wolfictl | 0 | 0.38.18-r2 |
| Chainguard | xeol-compat | 0 | 0.10.8-r20 |
| Chainguard | zarf | 0 | 0.63.0-r2 |
| Wolfi | chezmoi | 0 | 2.66.0-r1 |
| Wolfi | filebrowser | 0 | 2.44.0-r1 |
| Wolfi | filebrowser-compat | 0 | 2.44.0-r1 |
| Wolfi | gitleaks | 0 | 8.28.0-r3 |
| Wolfi | gptscript | 0 | 0.9.5-r17 |
| Wolfi | grafana-alloy | 0 | 0 |
| Wolfi | grype | 0 | 0.100.0-r1 |
| Wolfi | guaccsub | 0 | 1.0.1-r3 |
| Wolfi | guacgql | 0 | 1.0.1-r3 |
| Wolfi | guacingest | 0 | 1.0.1-r3 |
| Wolfi | k9s | 0 | 0.50.15-r1 |
| Wolfi | kots | 0 | 1.128.2-r1 |
| Wolfi | kots-compat | 0 | 1.128.2-r1 |
| Wolfi | kots-symlink-compat | 0 | 1.128.2-r1 |
| Wolfi | kubescape | 0 | 3.0.41-r1 |
| Wolfi | mattermost-10.10 | 0 | 10.10.3-r1 |
| Wolfi | mattermost-10.10-compat | 0 | 10.10.3-r1 |
| Wolfi | mattermost-10.11 | 0 | 10.11.3-r2 |
| Wolfi | mattermost-10.11-compat | 0 | 10.11.3-r2 |
| Wolfi | mattermost-10.12 | 0 | 10.12.0-r2 |
| Wolfi | mattermost-10.12-compat | 0 | 10.12.0-r2 |
| Wolfi | mattermost-10.5-compat | 0 | 10.5.14-r2 |
| Wolfi | mattermost-10.6-compat | 0 | 10.6.6-r9 |
| Wolfi | mattermost-10.7-compat | 0 | 10.7.4-r7 |
| Wolfi | mattermost-10.8-compat | 0 | 10.8.4-r6 |
| Wolfi | mattermost-10.9-compat | 0 | 10.9.5-r5 |
| Wolfi | nuclei | 0 | 3.4.10-r3 |
| Wolfi | syft | 0 | 1.33.0-r1 |
| Wolfi | trufflehog | 0 | 3.90.8-r2 |
| Wolfi | undock | 0 | 0.10.0-r6 |
| Wolfi | wolfictl | 0 | 0.38.18-r2 |
| Wolfi | xeol-compat | 0 | 0.10.8-r20 |
| Wolfi | zarf | 0 | 0.63.0-r2 |
| openSUSE:Leap 16.0 | hauler | 0 | 1.3.1-bp160.1.1 |
| openSUSE:Tumbleweed | govulncheck-vulndb | 0 | 0.0.20251105T184115-1.1 |
| openSUSE:Tumbleweed | hauler | 0 | 1.3.1-1.1 |
| openSUSE:Tumbleweed | jfrog-cli | 0 | 2.104.1-1.1 |
Related vulnerabilities
- CVE-2026-34165 go-git is an extensible git implementation library written in pure Go. Also affects cg
- CVE-2026-33762 go-git is an extensible git implementation library written in pure Go. Also affects cg
- CVE-2026-32285 The Delete function fails to properly validate offsets when processing malformed JSON… Also affects cg
- CVE-2026-33481 Syft is a a CLI tool and Go library for generating a Software Bill of Materials (SBOM)… Also affects cg
- CVE-2026-33809 A maliciously crafted TIFF file can cause image decoding to attempt to allocate up 4GiB… Also affects cg
- CVE-2026-27141 Due to missing nil check, sending 0x0a-0x0f HTTP/2 frames will cause a running server to… Also affects cg
- CVE-2026-1229 The CombinedMult function in the CIRCL ecc/p384 package (secp384r1 curve) produces an… Also affects cg
- CVE-2026-26958 filippo.io/edwards25519 is a Go library implementing the edwards25519 elliptic curve with… Also affects cg