Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft zip-bomb theme archive
-
ExploitTrick user into importing theme
-
ExecutionIcon entries decompress without size limit
-
ImpactExhaust host filesystem, denial of service
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V2 - Validation and Business Logic Compression ratio limits
|
| Exploitation Conditions | Exploitation requires a victim to use Ghidra's theme import feature (readZipTheme/ThemeReader.processIconFile) to import an attacker-supplied theme ZIP containing a highly compressed icon entry in the image/ subdirectory, which is extracted to ~/.config/ghidra/Ghidra*/images without a decompressed-size or compression-ratio limit. Limiting factors: the attack is local (AV:L) and needs user interaction (UI:P) - the user must be socially engineered into importing the crafted archive; there is no remote or network-triggered path. Impact is confined to availability (filesystem/disk and I/O exhaustion causing later writes and other applications to fail); there is no code execution, privilege gain, or data disclosure. Affected versions are Ghidra >= 10.3; the only complete fix stated by the vendor is updating to 12.2, which adds SecureZipExtractor enforcing a 100:1 max compression ratio, 100 MB per-file and 1 GB total extraction limits. |
| Impact | This is a medium-severity availability-only flaw (CVSS 4.0 base 6.8), not a high-priority emergency. The input's own signals are internally consistent: the CVSS 4.0 vector (AV:L/AC:L/PR:N/UI:P, VA:H with VC:N/VI:N) describes a local, low-complexity, decompression-bomb denial of service that requires the victim to perform an action (importing a theme) and produces no confidentiality or integrity impact. The vuln.today decision label is 'this_month' rather than 'act_now' or 'emergency', which matches the limited, local, interaction-dependent nature of the bug. No EPSS score, no CISA KEV listing, and no PoC/exploit reference were supplied, so there is no evidence of active exploitation or of weaponized exploit code. The only material conflict is metadata: the single Tag 'Information Disclosure' directly contradicts the CVSS vector (VC:N, VA:H) and the NSA GHSA advisory, both of which characterize this as uncontrolled resource consumption / denial of service - the tag should be read as mislabeled, not as evidence of data exposure. Net: a legitimate but bounded issue best remediated on the normal patch cycle rather than treated as an exploited, widespread threat. |
| Exploit ScenarioDerived | An attacker crafts a small theme ZIP in which an icon entry under the image/ subdirectory decompresses to an enormous size, then persuades a Ghidra user (e.g. via a shared 'custom theme') to import it. Because the vector is local and requires user interaction (AV:L/UI:P), there is no remote or unattended path; the victim must actively import the file. No public exploit code is identified at time of analysis, though the NSA GHSA advisory documents the mechanism and shows a fully consumed disk (/dev/sda2 at 100%). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 22, 2026
Disk-space exhaustion in Ghidra 10.3 through 12.1 lets a crafted theme ZIP fill the host filesystem through the theme importer's icon extraction path. When a user is persuaded to import the archive, icon entries in the image/ subdirectory are written to ~/.config/ghidra/Ghidra*/images without any cap on decompressed size or compression ratio, so a small archive can expand until the partition is full, after which theme imports and other disk-writing applications fail. The flaw is availability-only - no code execution, privilege gain, or data disclosure - and there is no public exploit identified at time of analysis; exploitation requires local interaction with the import feature and user interaction, giving it a medium-severity, this-month remediation priority rather than emergency status.
RemediationAI
Vendor-released patch: Ghidra 12.2, which adds ghidra.util.SecureZipExtractor enforcing the 100:1 compression-ratio ceiling and the 100 MB per-file and 1 GB total extraction limits; upgrade from any 10.3 through 12.1 installation using the release at https://github.com/NationalSecurityAgency/ghidra/releases/tag/Ghidra_12.2_build, and see advisory GHSA-6mj8-x8x9-7gxq (https://github.com/NationalSecurityAgency/ghidra/security/advisories/GHSA-6mj8-x8x9-7gxq) plus fix commit 2c2bc5be182d655c9df418ac35b9782f39b6a784. The vendor states that updating to 12.2 is the only complete fix, so on unpatched installations the practical compensating control is to avoid importing theme archives from untrusted or unsolicited sources, since the trigger is a user-initiated import of a crafted ZIP via the theme import feature; this reduces exposure but does not remove the flaw, and sufficient free disk space or quota on the user's home partition limits the blast radius of an accidental import without preventing the decompression-driven CPU and I/O consumption itself.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Ghidra's theme import routine (readZipTheme, with ThemeReader.processIconFile handling icon entries) decompresses attacker-controlled ZIP entries using Apache Commons Compress ZipArchiveEntry streams and writes them verbatim to the user's configuration images directory. The root cause is CWE-409, Improper Handling of Highly Compressed Data: no bound is applied to the uncompressed byte count per entry, to the cumulative extracted size, or to the compression ratio, so a highly compressible icon payload can expand essentially unbounded until the filesystem is exhausted. The upstream fix introduces a new ghidra.util.SecureZipExtractor class that wraps extraction with per-entry and aggregate accounting via InputStreamStatistics and enforces three hard limits - a maximum compression ratio of 100:1 (evaluated only after 1024 compressed bytes have been read, to avoid false positives on small entries), a 100 MB maximum single-file size, and a 1 GB maximum total extraction size - while also retaining Zip Slip protection through FileUtilities.getSecureFile. Successful exploitation consumes disk, CPU, and I/O during decompression, and because the exhausted partition is the user's home filesystem, unrelated applications that require disk writes can also fail.
Know when the next one hits your stack
- 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
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Local because the victim must import a crafted theme file (UI:R), no authentication to deliver the archive (PR:N), and impact is availability-only (A:H), so C:N/I:N.
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
Lifecycle Timeline
1DescriptionCVE.org
Ghidra 10.3 before 12.2 contains an improper handling of highly compressed data vulnerability in ThemeReader.processIconFile() that fails to limit decompressed size or compression ratio. Attackers can persuade a user to import a crafted theme ZIP whose icon entries expand to fill the host filesystem, causing later writes to fail.
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.
EUVD-2026-108332
GHSA-fr5c-6rcj-3fw2
NVD
CVE.org
EPSS
Exploit-DB