Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft 128-byte malicious ELF file
-
DeliveryDeliver as sample to analyst or pipeline
-
ExploitElfHeader reads unvalidated header counts
-
ExecutionOversized array allocation exhausts JVM heap
-
ImpactOutOfMemoryError crashes import/analysis
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Memory allocation limits
|
| Exploitation Conditions | Exploitation requires a victim to load an attacker-supplied ELF file into Ghidra - either through the GUI import/load-spec discovery step or via a headless analysis pipeline that automatically ingests untrusted binaries. The malicious file need only be 128 bytes and the flaw triggers against default configurations during normal ELF parsing (no special feature toggle is required). The limiting factors are: the local attack vector (the file must reach the analyst's system) and the required user/pipeline interaction of actually importing the file; there is no authentication prerequisite on the target, but the attacker cannot trigger it remotely without that load action. Impact is confined to availability (process/job crash via OutOfMemoryError) with no code execution, data disclosure, or integrity effect. |
| Impact | This is a moderate-severity denial-of-service issue, not a critical priority. The CVSS 4.0 base score of 6.8 is driven almost entirely by a high availability impact (VA:H) with no confidentiality or integrity consequences (VC:N/VI:N), and the vector is local with required passive user interaction (AV:L/UI:P) - meaning an analyst must actually load a crafted file. There is no CISA KEV listing and no public exploit was provided in the intelligence, so exploitation status is 'no public exploit identified at time of analysis.' No EPSS score was supplied, so widespread-exploitation probability cannot be quantified from the data. The signals are internally consistent: the root cause (CWE-789, allocation sized by unvalidated ELF extended header counts) matches a VA:H/no-C/no-I DoS, and the local attack vector matches a tool that imports files an analyst chooses to open. The practical worst case is a crash of a single Ghidra process or a headless analysis job (OutOfMemoryError), not host compromise or lateral movement. Real-world risk is bounded: the main concern is disruption of automated malware-triage/headless pipelines that ingest untrusted samples, where an attacker-controlled sample could reliably crash analysis. |
| Exploit ScenarioDerived | An attacker distributes a malicious 128-byte ELF file (e.g., as a malware sample sent to or collected by a reverse-engineering team). When an analyst imports it into Ghidra - or an automated headless pipeline ingests it for load-spec discovery - the ELF loader allocates arrays sized by the file's unvalidated extended program/section header counts, exhausting the JVM heap and raising an OutOfMemoryError. No public exploit was identified at time of analysis, but the vendor-patched commit makes the vulnerable code path and trigger conditions clear. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 20, 2026
Denial of service in NSA Ghidra 10.2 through 12.1.4 allows an attacker who supplies a crafted 128-byte ELF file to force excessive memory allocation in the ELF loader, ending in an OutOfMemoryError during import/load-spec discovery or headless analysis. The issue is local and requires the victim or pipeline to load the untrusted file (user interaction), with impact limited to availability-no code execution, data disclosure, or integrity effect was assessed. No public exploit code was identified at time of analysis, and an upstream fix commit is available from the vendor.
RemediationAI
Apply the upstream vendor fix commit 6c50a66e8a939e2bcbaf0a6432ec5d53a41ceeb3; patch availability is confirmed by the vendor reference, but a specific released patched version was not independently confirmed from the supplied data. Until the fix is deployed, avoid importing ELF files from untrusted sources into Ghidra or headless analysis pipelines. If untrusted ELF import is unavoidable, pre-screen files for ELF header anomalies-especially e_phnum/e_shnum values using PN_XNUM or SHN_XINDEX, inconsistent e_phentsize/e_shentsize, or out-of-range e_phoff/e_shoff-and reject them before load; this may block some legitimate unusual ELF binaries and requires custom tooling. Run Ghidra and headless jobs in an isolated, memory-capped container/process with automatic restart so an OutOfMemoryError is contained to a disposable job, accepting that the analysis job can still be disrupted. See the VulnCheck advisory https://www.vulncheck.com/advisories/ghidra-10.2-through-12.1.4-denial-of-service-via-elf-loader-extended-header-counts and vendor commit for details.
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 in Ghidra's ELF loader ElfHeader class (CWE-789: memory allocation with excessive size value). ELF headers use 16-bit e_phnum/e_shnum fields with escape values PN_XNUM and SHN_XINDEX that redirect the loader to extended counts; before the fix, those extended section and program header counts were used to size arrays without validating them against file bounds, header entry sizes, or practical hard limits. A tiny crafted ELF can therefore advertise an enormous header count and trigger an OutOfMemoryError as soon as Ghidra parses the file for load-spec discovery. The commit adds file-offset hard limits, validates e_phoff/e_shoff and e_phentsize/e_shentsize, constrains header counts to file bounds and Integer.MAX_VALUE-based limits, and truncates/disables header parsing when values are inconsistent. CPE data identifies NationalSecurityAgency Ghidra as the affected product.
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
Local because the analyst must import an attacker-supplied file (UI:R), no privileges needed (PR:N), reliable crash with no C/I impact so A:H only, S:U as only the Ghidra process is affected.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Ghidra 10.2 through 12.1.4 contains a denial of service vulnerability in the ELF loader's ElfHeader class that allocates arrays sized by unvalidated extended section and program header counts. Attackers can supply a crafted 128-byte ELF file that triggers an OutOfMemoryError during load-spec discovery at import or in headless analysis pipelines.
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-105082
GHSA-j4jr-xgjh-hpvc
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB