CVE-2026-96273

Ghidra before 12.1.4 Denial of Service via Unreleased Lock in OptionsDB

Published Sep 23, 2026 CVSS 4.0 · 6.8 Medium EPSS < 1% KEV · Not listed
Description
Ghidra before 12.1.4 fails to validate the TYPE_COL byte in OptionsDB.createUnregisteredOption(), causing an ArrayIndexOutOfBoundsException that leaves domain objects permanently locked. Attackers can craft a malicious program database file that, when imported, causes the application to stall and prevents resource cleanup or graceful shutdown.

Analysis

AI-generated

Technical impact

Ghidra versions prior to 12.1.4 fail to validate the TYPE_COL byte when creating an unregistered option, which can trigger an ArrayIndexOutOfBoundsException during database creation. This flaw is caused by a bounds check failure (CWE-460) and improper lock handling (CWE-667). The exception causes domain objects to remain permanently locked, preventing normal application shutdown and leaving the tool in a stalled state. The primary impact is a denial of service that can render the entire Ghidra session unusable until a restart or manual intervention resolves the locked state.

Affected Systems

National Security Agency’s Ghidra software, versions earlier than 12.1.4, is affected. Any installation running an unpatched database engine is vulnerable, regardless of the operating system.

Risk and Exploitability

The CVSS score of 6.8 indicates moderate severity, and the EPSS score of 0.00121 indicates a very low exploitation probability, so the likelihood of exploitation in the wild is low. The vulnerability is listed as not in the CISA KEV catalog and is exploitable through the import of a crafted program database, meaning any user with the ability to supply such a file could trigger the denial of service. This local attack vector does not allow remote code execution but can disrupt analysis workflows and lead to resource exhaustion.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Ghidra to version 12.1.4 or later to include the corrected bounds check in OptionsDB.createUnregisteredOption().
  • If an upgrade is not immediately possible, restrict database imports to trusted sources and be cautious when opening unfamiliar database files.
  • Apply regular updates to Ghidra and monitor for unexpected stalls; if the application becomes unresponsive, terminate the process and clear any residual domain objects manually.

Generated by OpenCVE AI on September 28, 2026 at 18:13 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
Title Ghidra before 12.1.4 Denial of Service via Crafted Database Ghidra before 12.1.4 Denial of Service via Unreleased Lock in OptionsDB
Weaknesses CWE-667
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description Ghidra before 12.1.4 fails to validate the TYPE_COL byte in OptionsDB.createUnregisteredOption(), causing an ArrayIndexOutOfBoundsException that leaves domain objects permanently locked. Attackers can craft a malicious program database file that, when imported, causes the application to stall and prevents resource cleanup or graceful shutdown.
Title Ghidra before 12.1.4 Denial of Service via Crafted Database
First Time appeared Nsa
Nsa ghidra
Weaknesses CWE-460
CPEs cpe:2.3:a:nsa:ghidra:*:*:*:*:*:*:*:*
Vendors & Products Nsa
Nsa ghidra
References
Metrics cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H'}

cvssV4_0

{'score': 6.8, 'vector': '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'}

Weaknesses
  • CWE-460

    Improper Cleanup on Thrown Exception

  • CWE-667

    Improper Locking

Sources

Status
PUBLISHED
Assigner
VulnCheck
Published
Updated
Sep 28, 2026, 4:18 PM
Reserved
Sep 22, 2026, 8:36 PM
Status
Awaiting Analysis
Published
Sep 23, 2026, 1:16 AM
Modified
Sep 28, 2026, 5:17 PM