Skip to main content

Ghidra CVE-2026-115398

| EUVDEUVD-2026-108334 MEDIUM
Allocation of Resources Without Limits or Throttling (CWE-770)
2026-10-22 VulnCheck GHSA-xj66-h4r7-jmmx
6.8
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft archive with excessive entry count
  2. Delivery
    Lure Ghidra user to import file
  3. Exploit
    FileSystemIndexHelper loops over unbounded entries
  4. Execution
    Java heap exhausted, UI thread blocks
  5. Impact
    Session 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

Ghidra 0 <12.2

Affected Packages

euvd ghidra fix: 12.2

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

Vendor (VulnCheck) PRIMARY 6.8 MEDIUM
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
vuln.today AI 5.5 MEDIUM

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.

3.1 AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
4.0 AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

EPSS Score
0.1%
Top 98% exploitable
Prevalence
Low
specialized NSA reverse-engineering tool, security-research niche, not enterprise-wide
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

More in Ghidra

View all
CVE-2023-22671 CRITICAL POC
9.8 Jan 06

Ghidra/RuntimeScripts/Linux/support/launch.sh in NSA Ghidra through 10.2.2 passes user-provided input into eval, leading

CVE-2019-16941 CRITICAL POC
9.8 Sep 28

NSA Ghidra through 9.0.4, when experimental mode is enabled, allows arbitrary code execution if the Read XML Files featu

CVE-2019-13625 CRITICAL POC
9.1 Jul 17

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

CVE-2019-17665 HIGH POC
7.8 Oct 16

NSA Ghidra before 9.0.2 is vulnerable to DLL hijacking because it loads jansi.dll from the current working directory. Ra

CVE-2019-13623 HIGH POC
7.8 Jul 17

In NSA Ghidra before 9.1, path traversal can occur in RestoreTask.java (from the package ghidra.app.plugin.core.archive)

CVE-2026-4946 HIGH
8.8 Mar 29

Command injection in NSA Ghidra (versions before 12.0.3) executes arbitrary commands when analysts click on maliciously

CVE-2026-52758 HIGH
8.7 Jun 10

SQL injection in Ghidra's BSim binary-similarity component (versions before 12.1) allows authenticated remote attackers

CVE-2026-52754 HIGH
8.7 Jun 10

Authentication bypass in NSA Ghidra versions prior to 12.1 allows any holder of a valid CA-signed certificate to imperso

CVE-2026-49498 HIGH
8.7 Jun 10

SQL injection in Ghidra's PostgreSQL collaboration backend (versions 11.0 through pre-12.1) allows authenticated users t

CVE-2026-52751 HIGH
8.6 Jun 10

Remote code execution in NSA Ghidra before version 12.1 allows attackers to execute arbitrary commands when a user opens

CVE-2026-52750 HIGH
8.4 Jun 10

Command injection in Ghidra versions before 12.1 on Windows allows attackers to execute arbitrary OS commands under the

CVE-2026-52755 HIGH
8.4 Jun 10

Arbitrary file write in NSA's Ghidra reverse-engineering framework before version 12.0.4 allows attackers to escape the

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy