Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft zip-bomb Ghidra extension archive
-
DeliveryPersuade user to install the extension
-
ExploitunzipToInstallationFolder extracts without size limits
-
ExecutionHost partition fills to 100%
-
ImpactGhidra and other apps fail on disk writes (DoS)
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V2 - Validation and Business Logic Compression ratio limits
|
| Exploitation Conditions | Exploitation requires a victim to manually install an attacker-supplied Ghidra extension ZIP archive through Ghidra's extension installer (File > Install Extensions), which invokes ExtensionUtils.unzipToInstallationFolder() to extract entries into ~/.config/ghidra/Ghidra*/Extensions with no cap on decompressed entry size, per-file size, or compression ratio. The required condition is therefore social engineering: the user must be persuaded to download and install the crafted zip-bomb archive. Limiting factors that reduce realistic risk: the attack is local (AV:L) and demands active user interaction (UI:P) - there is no remote or unauthenticated trigger - and impact is confined to availability (disk/CPU/I/O exhaustion causing a denial of service for Ghidra and other host applications), with no confidentiality or integrity consequence. Affected: all Ghidra versions before 12.2; fixed in 12.2. |
| Impact | This is a medium-severity, availability-only denial-of-service issue, and the signals are internally consistent rather than conflicting. The CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H) correctly reflects a local, user-interaction-dependent flaw with impact limited to availability (VA:H) and zero confidentiality or integrity impact - so despite the 'Ghidra' being a high-profile NSA tool, this is not a remote code execution or data-exposure problem. No EPSS score, no CISA KEV listing, and no public exploit were supplied in the input, so there is no indication of active exploitation; the only exploitation driver is the attacker's ability to socially-engineer a user into installing a malicious extension. The vuln.today decision label is 'this_month' (not act_now/emergency), which aligns with the absence of KEV and the user-interaction requirement. Net assessment: a real but non-urgent, self-inflicted-via-social-engineering DoS - patch on a normal maintenance cycle rather than as an emergency. Note one input inconsistency to verify: the Tags include 'Information Disclosure', but every authoritative source (GHSA advisory, CWE-409, CVSS VA:H with VC:N/VI:N) describes a disk-exhaustion denial of service with no disclosure - treat the 'Information Disclosure' tag as mislabeled. |
| Exploit ScenarioDerived | An attacker publishes or distributes a Ghidra extension ZIP that contains a highly compressed entry (a zip bomb) whose decompressed size is effectively unbounded, then persuades a reverse-engineer to download and install it via Ghidra's extension installer. When Ghidra calls ExtensionUtils.unzipToInstallationFolder() the entry is written out without any size limit, filling the host partition to 100% as shown in the advisory's df output and stack trace. No public exploit was identified in the provided data, but the GHSA advisory includes a reproducing stack trace; exploitation is local and requires the victim to actively install the archive. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 22, 2026
Disk-space exhaustion in NSA's Ghidra reverse-engineering suite affects every release before 12.2: the extension installer extracts attacker-supplied ZIP archives into ~/.config/ghidra/Ghidra*/Extensions without any cap on decompressed entry size, per-file size or compression ratio, so a small crafted 'zip bomb' extension can fill the host partition and cause later Ghidra writes and other applications' writes to fail. Exploitation is local and requires the victim to be persuaded to install the malicious archive through File > Install Extensions (the CVSS 4.0 vector is AV:L/AC:L/PR:N/UI:P with availability-only impact), and no public exploit code has been identified at the time of analysis - the practical risk is a social-engineering-driven denial of service rather than remote compromise. A vendor-released patch in Ghidra 12.2 adds a secure extractor that enforces a 100 MB per-entry limit, a 1 GB total limit and a 100:1 decompression ratio threshold.
RemediationAI
Vendor-released patch: upgrade to Ghidra 12.2 (release tag Ghidra_12.2_build, https://github.com/NationalSecurityAgency/ghidra/releases/tag/Ghidra_12.2_build), which replaces the unbounded extraction with SecureZipExtractor enforcing a 100 MB per-entry cap, a 1 GB total-extraction cap and a 100:1 compression-ratio limit; the change is in commit 2c2bc5be182d655c9df418ac35b9782f39b6a784 and documented in advisory GHSA-mcjr-7qqr-m3w8. Until every analyst workstation and shared installation is on 12.2, the actionable compensating controls are process-level, since the vulnerable code has no configuration switch to disable it: restrict extension installation to archives obtained from the official Ghidra release/extension distribution or internally reviewed builds, and treat any third-party or emailed .zip extension as untrusted - because extraction has no size ceiling, opening such an archive through File > Install Extensions can consume the entire partition and cannot be interrupted before the limit is hit. Pair that with monitoring of free space on the partition holding ~/.config/ghidra (and the project repository, which fails to flush its index once the disk is full), so an attempted install is detected before other applications start failing writes; note these are detective/preventive workarounds with residual risk, not a substitute for the 12.2 upgrade, which the vendor positions as the complete fix.
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
The flaw is CWE-409 (Improper Handling of Highly Compressed Data) in Ghidra's Java extension subsystem: ExtensionUtils.unzipToInstallationFolder() and its helper writeZipEntryToFile() stream each ZIP entry straight to disk through Apache Commons IO's IOUtils.copyLarge() with no accounting of the decompressed byte count, no per-entry ceiling, no aggregate ceiling and no check on the compression ratio advertised by the ZIP central directory. Because the extraction target is a user-writable configuration path (/home/USERNAME/.config/ghidra/Ghidra*/Extensions), a few-kilobyte archive whose entries inflate to hundreds of gigabytes will be expanded until the filesystem returns 'No space left on device'; the advisory's stack trace shows the failure surfacing inside Ghidra's own indexed filesystem (IndexedLocalFileSystem.writeIndex), i.e. the tool loses the ability to persist project data after the disk is full. The upstream fix (commit 2c2bc5be182d655c9df418ac35b9782f39b6a784) introduces a new ghidra.util.SecureZipExtractor built on Commons Compress ZipFile plus InputStreamStatistics, which aborts extraction when a single entry exceeds 100 MB, when cumulative output exceeds 1 GB, or when the uncompressed-to-compressed ratio exceeds 100:1 (ratio checked only after 1 KB of compressed data to avoid false positives) - and it also routes entry names through FileUtilities.getSecureFile(), closing the related Zip Slip path. The package metadata confirms the branch split: vulnerable < 12.2, fixed in 12.2. The trigger requires a user-initiated install action; nothing in the evidence indicates a remote or automatic extraction path.
Know when Ghidra 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
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
Attacker supplies a local archive the user must install (AV:L, UI:R), no privileges needed (PR:N), straightforward trigger (AC:L); impact is availability-only disk exhaustion (A:H), with no C or I impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Ghidra before 12.2 contains an improper handling of highly compressed data vulnerability in ExtensionUtils.unzipToInstallationFolder() that allows attackers to exhaust disk space. Attackers can persuade users to install a crafted zip bomb extension archive that expands without size limits, causing later writes by Ghidra and other applications 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
Ghidra/RuntimeScripts/Linux/support/launch.sh in NSA Ghidra through 10.2.2 passes user-provided input into eval, leading
NSA Ghidra through 9.0.4, when experimental mode is enabled, allows arbitrary code execution if the Read XML Files featu
NSA Ghidra before 9.0.1 allows XXE when a project is opened or restored, or a tool is imported, as demonstrated by a pro
NSA Ghidra before 9.0.2 is vulnerable to DLL hijacking because it loads jansi.dll from the current working directory. Ra
In NSA Ghidra before 9.1, path traversal can occur in RestoreTask.java (from the package ghidra.app.plugin.core.archive)
Command injection in NSA Ghidra (versions before 12.0.3) executes arbitrary commands when analysts click on maliciously
SQL injection in Ghidra's BSim binary-similarity component (versions before 12.1) allows authenticated remote attackers
Authentication bypass in NSA Ghidra versions prior to 12.1 allows any holder of a valid CA-signed certificate to imperso
SQL injection in Ghidra's PostgreSQL collaboration backend (versions 11.0 through pre-12.1) allows authenticated users t
Remote code execution in NSA Ghidra before version 12.1 allows attackers to execute arbitrary commands when a user opens
Command injection in Ghidra versions before 12.1 on Windows allows attackers to execute arbitrary OS commands under the
Arbitrary file write in NSA's Ghidra reverse-engineering framework before version 12.0.4 allows attackers to escape the
EUVD-2026-108335
GHSA-gmcq-gg82-5fvc
NVD
CVE.org
EPSS
Exploit-DB