Skip to main content

Ghidra EUVDEUVD-2026-108333

| CVE-2026-115397 MEDIUM
Allocation of Resources Without Limits or Throttling (CWE-770)
2026-10-22 disclosure@vulncheck.com GHSA-2jjf-r2xm-9jmp
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 extension ZIP with huge file count
  2. Delivery
    Deliver archive to Ghidra user as plugin
  3. Exploit
    User installs via extension importer
  4. Execution
    Unbounded unzipToInstallationFolder extraction
  5. Persist
    Filesystem inode/disk pool exhausted
  6. Impact
    Ghidra and other processes fail writes (DoS)

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 a user to be persuaded to download and install a maliciously crafted Ghidra extension ZIP archive through Ghidra's extension installer (which calls ExtensionUtils.unzipToInstallationFolder, extracting into ~/.config/ghidra/ghidra*/Extensions). No authentication or special privileges are needed (PR:N), and all versions before 12.2 are vulnerable in their default configuration because there was no cap on the number of extracted entries. The decisive limiting factor is the required user interaction (UI:P) plus local access (AV:L): an attacker cannot trigger this remotely or without the victim actively installing the archive. The fix introduces a default limit of 3000 entries (MAX_ZIP_ENTRIES_DEFAULT), overridable via the ghidra.extensions.maxfiles.override system property; the complete fix is upgrading to 12.2.

Impact

This is a medium-severity (CVSS 6.8) availability-only flaw, and the aggregated signals consistently point to a low-to-moderate real-world priority rather than an emergency. The CVSS 4.0 vector is AV:L/AC:L/AT:N/PR:N/UI:P with VA:H and no confidentiality or integrity impact, meaning the attack is local, requires no privileges, but depends on the victim performing an action (installing a malicious extension). The vuln.today Decision label is 'this_month', not act_now/emergency, which aligns with the local vector and interaction requirement. No CISA KEV listing and no EPSS score were provided in the input, so there is no evidence of active or probable exploitation; the GHSA advisory includes a reproduction (directory listing and stack trace) demonstrating the condition, but no weaponized, drop-in exploit code is referenced. The key tension to note: the official 4.0 vector attributes impact entirely to the vulnerable system (VA:H, SC/SI/SA:N), yet the advisory explicitly states that exhausting the host inode pool causes OTHER system services and applications to fail - a system-wide effect that arguably warrants a subsequent-system impact. Net assessment: a genuine denial-of-service condition, but one gated behind social engineering and yielding only self-inflicted availability loss on the victim's workstation, so it should be patched on a routine cycle, not treated as a drop-everything issue.

Exploit ScenarioDerived

An attacker packages a Ghidra extension ZIP containing an extremely large number of small files and distributes it (e.g., on a forum, plugin repository, or via a targeted message) as a useful plugin. A reverse engineer downloads it and uses Ghidra's extension installer, which extracts every entry without limit into ~/.config/ghidra/.../Extensions, exhausting the filesystem's inodes or disk space. No public weaponized exploit code is referenced, though the GHSA advisory includes a working reproduction; exploitation is local (AV:L) and low-complexity but requires the user to install the archive (UI:P).

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

Ghidra releases before 12.2 extract extension ZIP archives without any cap on entry count, so a crafted archive containing a very large number of files can exhaust the local filesystem's inode pool and cause project writes, index flushes, and other host processes to fail. The flaw is availability-only: no confidentiality or integrity impact is assessed, and no credentials are needed, but an attacker must first persuade a victim to install the malicious archive through Ghidra's extension installer (local access plus user interaction). No public exploit code has been identified at time of analysis, and the aggregated signals place this at a 'this_month' priority rather than an emergency; the vendor-released patch is Ghidra 12.2.

RemediationAI

Vendor-released patch: Ghidra 12.2 - upgrade to the Ghidra_12.2_build release (https://github.com/NationalSecurityAgency/ghidra/releases/tag/Ghidra_12.2_build), which caps extension archive extraction at 3000 entries by default and aborts with an IOException once that limit is exceeded. The ceiling is adjustable only deliberately, via the ghidra.extensions.maxfiles.override system property (for example -Dghidra.extensions.maxfiles.override=10000 in VMARGS in RuntimeScripts/support/launch.properties); raising it re-widens the exposure, so keep the 3000 default unless a legitimate large extension requires otherwise. Because the complete fix is the upgrade, environments that cannot move to 12.2 immediately should prevent the trigger rather than rely on detection: do not install extension ZIP archives received from untrusted sources through Ghidra's extension installer, and verify an archive's entry count before installation, since the pre-12.2 code will honor any number of entries. Full details are in the vendor advisory GHSA-j5q9-fhqg-q995.

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 extension installation path is Java code in the Generic framework: ExtensionUtils.unzipToInstallationFolder() hands the downloaded extension ZIP to SecureZipExtractor.extractSecurely(), which walks every entry and writes it out via writeZipEntryToFile() into ~/.config/ghidra/ghidra*/Extensions. Prior to 12.2 there was no accounting of how many entries an archive contained, so the loop would faithfully materialize an arbitrarily large number of files until the underlying filesystem ran out of inodes or space; the advisory's stack trace shows the resulting java.io.IOException: No space left on device and an IndexedLocalFileSystem failure to flush its index file because the inode count was exhausted. This is CWE-770 (Allocation of Resources Without Limits or Throttling), with the advisory also tagging CWE-400 (Uncontrolled Resource Consumption): the root cause is the missing bound on a resource-consuming operation rather than a logic or memory-safety defect. The upstream fix (commit 7cb4e778) threads a maxFiles parameter through extractSecurely(), decrements a remaining counter per entry and throws an IOException once it is exhausted, and ExtensionUtils supplies a default ceiling of 3000 entries (MAX_ZIP_ENTRIES_DEFAULT) that can be relaxed only through the ghidra.extensions.maxfiles.override system property documented in RuntimeScripts/support/launch.properties. Because extraction lands on the local filesystem, inode exhaustion is not confined to Ghidra, which is why the independent assessment scores scope as changed with high availability impact.

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

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 6.3 MEDIUM

Local vector requiring the victim to install the archive (UI:R, PR:N, AC:L); only availability is affected, and inode exhaustion degrades other system processes beyond Ghidra, so S:C.

3.1 AV:L/AC:L/PR:N/UI:R/S:C/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:H

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

Lifecycle Timeline

1
Patch available
Oct 22, 2026 - 20:18 EUVD

DescriptionCVE.org

Ghidra before 12.2 contains a resource allocation without limits vulnerability in ExtensionUtils.unzipToInstallationFolder() that extracts every extension ZIP entry without limiting file count. Attackers who persuade a user to install a crafted extension archive with many files can exhaust filesystem inodes, causing project writes and other processes to fail.

Threat Intelligence Overview

EPSS Score
0.1%
Top 98% exploitable
Prevalence
Low
niche reverse-engineering tool, confined to security-analyst workstations
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.

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