Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft archive with excessive entry count
-
DeliveryLure Ghidra user to import file
-
ExploitFileSystemIndexHelper loops over unbounded entries
-
ExecutionJava heap exhausted, UI thread blocks
-
ImpactSession hangs, forced process termination
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource allocation limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that a user of Ghidra before 12.2 open or batch-import an attacker-supplied TAR or ZIP archive, which triggers the TarFileSystem/ZipFileSystem mount path and the FileSystemIndexHelper indexing routine that stores archive entries with no entry-count limit. The specific trigger is an archive crafted with an excessively large number of entries (not necessarily large file size), causing unbounded per-entry allocation that exhausts the Java heap. Limiting factors that reduce real-world risk: the attack is local and file-delivery based (AV:L), it requires the victim to actively open/import the file (UI:P - no drive-by or remote network trigger), it affects availability only (no data disclosure or code execution), and it is fully remediated by upgrading to 12.2, which enforces a 500,000-entry cap. |
| Impact | This is a genuine but modest-priority issue, not a high-urgency emergency. The supplied CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H) scores 6.8 and is internally consistent with the description: impact is availability-only (VA:H, with VC:N and VI:N), the attack is local (AV:L) because it requires feeding a file to the Ghidra process, and it requires passive user interaction (UI:P) - the victim must open or batch-import the crafted archive. There is no confidentiality or integrity impact and no code execution; the worst outcome is a hung session and system-wide memory pressure requiring a forced process kill. KEV status is NO (not listed by CISA), so this is not confirmed actively exploited. No EPSS score was provided in the input, so exploitation probability cannot be quantified from the data. The vuln.today decision label is 'this_month' (not act_now/emergency), aligning with a fix-on-normal-patch-cycle posture. No SSVC decision record was supplied. The one mild tension worth flagging: PR:N labels the flaw unauthenticated, yet UI:P and AV:L mean an attacker cannot act without first delivering a file and relying on the victim to open it, so real-world exploitation is gated by social engineering rather than direct remote reach. Overall this is a low-cost/high-impact-asymmetry DoS (a small file can exhaust memory) but confined to a desktop reverse-engineering tool and dependent on user action. |
| Exploit ScenarioDerived | An attacker crafts a small TAR or ZIP archive containing an excessive number of entries (entry count, not file size, drives the impact) and persuades a reverse-engineering analyst to open or batch-import it in Ghidra before 12.2. During the unbounded indexing loop in FileSystemIndexHelper, the Java heap is exhausted, the UI thread blocks, and the session hangs - requiring a forced kill (Task Manager / kill -9) and potentially degrading other applications on the host. No working public exploit code is identified at time of analysis, though the GHSA advisory and VulnCheck advisory publicly document the vulnerable code path and a reproducing stack trace. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 22, 2026
Java heap exhaustion in Ghidra before 12.2 allows a crafted TAR or ZIP archive with an excessive number of entries to freeze the application when a user opens or batch-imports it. The archive mount code stores every entry through FileSystemIndexHelper without an entry-count limit, so a relatively small file with a huge entry count can block the UI thread and degrade the host until the process is forcibly terminated. Exploitation requires local file delivery and user interaction; no public exploit was identified at time of analysis, and the vendor has fixed the issue in Ghidra 12.2 by enforcing a 500,000-entry cap.
RemediationAI
Upgrade to Ghidra 12.2 (release tag Ghidra_12.2_build), which caps stored file entries at 500,000 in FileSystemIndexHelper and raises IOException when the limit is exceeded; see the vendor advisory at https://github.com/NationalSecurityAgency/ghidra/security/advisories/GHSA-vvp8-22p8-x954 and the fixing commit at https://github.com/NationalSecurityAgency/ghidra/commit/061ec06a79f4147267f6fc690b0dcf944b2d4957. Until the upgrade is applied, avoid opening or batch-importing TAR or ZIP archives from untrusted sources, recognizing that this only reduces exposure and blocks legitimate archive workflows rather than fixing the underlying unbounded allocation. Once the Java heap is exhausted, there is no graceful in-application recovery; affected sessions require forced termination of the Ghidra process.
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 filesystem import layer uses FileSystemIndexHelper to index entries when mounting archive filesystems, including TarFileSystem and ZipFileSystem. In affected versions, the mount/indexing loop calls storeFile or storeSymlink for every archive entry without an upper bound, timeout, or throttling, so an archive containing a very large number of entries causes unbounded per-entry allocation until the Java heap is exhausted. The advisory maps this to CWE-770 (Allocation of Resources Without Limits or Throttling), with related CWE-400 and CWE-1050 classifications. The CPE cpe:2.3:a:nationalsecurityagency:ghidra:*:*:*:*:*:*:*:* identifies Ghidra as the affected product, and the fix commit adds MAX_FILEENTRY_COUNT = 500_000 to FileSystemIndexHelper and throws IOException when the stored entry count exceeds that limit. The CVSS vector reflects local attack delivery (AV:L) and user interaction (UI:P in CVSS 4.0; the independent assessment uses UI:R in CVSS 3.1), with availability impact only and no confidentiality or integrity impact.
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
Triggered by opening an attacker-supplied archive file locally, so AV:L and UI:R; no privileges needed (PR:N); impact is availability-only (A:H), with no confidentiality or integrity effect.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Ghidra before 12.2 contains a resource allocation without limits vulnerability in FileSystemIndexHelper used by TarFileSystem and ZipFileSystem, which store unbounded archive entries. Attackers can persuade a user to open or batch-import a crafted TAR or ZIP archive with excessive entries to exhaust the Java heap and hang the session.
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.
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-108334
GHSA-xj66-h4r7-jmmx
NVD
CVE.org
EPSS
Exploit-DB