Skip to main content

ODA Drawings SDK CVE-2025-10021

HIGH
Use of Uninitialized Variable (CWE-457)
2025-12-22 8a9629cb-c5e7-4d2a-a894-111e8039b7ea
7.0
CVSS 4.0 · Vendor: 8a9629cb-c5e7-4d2a-a894-111e8039b7ea
View

Attack ChainAIDerived

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

  1. Access
    Run application using vulnerable static SDK
  2. Exploit
    Static init order fiasco accesses uninitialized OdString::kEmpty
  3. Impact
    Application crashes on startup (denial of service)

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Variable initialization checks
Exploitation Conditions

Exploitation is limited to applications that link the affected Open Design Alliance Drawings SDK static multithreaded ('mt') builds prior to version 2026.12 and that instantiate the global COdaMfcAppApp theApp object; the crash is triggered deterministically during static-object construction at process startup when OdString::kEmpty is accessed before initialization. Limiting factors: the attack vector is local (AV:L) - not remotely reachable - so an attacker must already be able to run or influence the launch of the vulnerable application; dynamically-linked SDK builds and versions 2026.12 and later are not affected. The impact is reliably a startup denial of service; any escalation to memory corruption or code execution is undefined-behavior-dependent and unproven.

Impact

This is a moderate-severity reliability defect that presents as a denial-of-service risk rather than a high-priority exploitation target. The CVSS 4.0 vector (AV:L/AC:L/PR:N/UI:N, VA:H, VI:L, VC:N) scores 7.0 and is consistent with the description: a local, low-complexity flaw whose primary impact is availability (startup crash) with only low integrity impact and no confidentiality impact. Multiple low-risk signals align: EPSS is 0.15% (4th percentile), there is no CISA KEV listing, and no public exploit was identified. The flaw is a Static Initialization Order Fiasco (CWE-457, use of uninitialized variable) - a deterministic startup crash, not a remotely reachable memory-corruption primitive. The description's claim that 'memory corruption and potential arbitrary code execution cannot be ruled out' is explicitly speculative and is NOT supported by any POC or exploitation evidence; it should not be treated as confirmed RCE. Note a signal conflict: the input Tags assert 'RCE' and 'Buffer Overflow,' but the underlying weakness (CWE-457, uninitialized static variable) is neither a buffer overflow nor a demonstrated code-execution bug - verify before escalating. Also note the local attack vector (AV:L) means this is not remotely exploitable despite PR:N; practical risk is confined to environments running vulnerable static (mt) SDK builds.

Exploit ScenarioDerived

An application built against the affected Open Design Alliance Drawings SDK static (mt) library loads and, during C++ static-object construction, the global COdaMfcAppApp theApp accesses OdString::kEmpty before it is initialized, reading uninitialized memory and crashing the process on startup. No public exploit exists; the realistic outcome is a reproducible denial of service, with theoretical memory-corruption consequences that remain unverified.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 19, 2026

Startup denial of service affects applications that statically link ODA Drawings SDK multithreaded ('mt') builds before 2026.12 and instantiate the global COdaMfcAppApp theApp object. The static initialization order fiasco causes OdString::kEmpty to be accessed before initialization, deterministically crashing the process at launch. Exploitation requires local access to run or influence the vulnerable application; no public exploit code is identified at time of analysis, EPSS is 0.15% (4th percentile), and any memory-corruption or code-execution escalation remains undefined-behavior-dependent and unproven.

RemediationAI

Vendor-released patch: 2026.12. Upgrade affected applications to Open Design Alliance Drawings SDK 2026.12 or later, and verify the vendor advisory at https://www.opendesign.com/security-advisories for any build-specific notes. If immediate upgrade is not possible, switch from static multithreaded ('mt') linking to dynamically linked SDK builds, which are not affected; the trade-off is added runtime dependency management and DLL deployment complexity. Developers can also eliminate the static initialization order hazard by replacing the global COdaMfcAppApp theApp object with a function-local static or by guaranteeing OdString::kEmpty is initialized before dependent static constructors run, but this requires source changes and thorough validation. Restricting local access to vulnerable applications is a compensating control only and does not remove the flaw.

Affected ProductsAI

Open Design Alliance Drawings SDK static multithreaded ('mt') builds prior to version 2026.12 are affected. The issue triggers in applications that link these static builds and instantiate the global COdaMfcAppApp theApp object. Dynamically linked SDK builds and versions 2026.12 and later are not affected. No CPE strings were provided in the input; consult the vendor advisory at https://www.opendesign.com/security-advisories for product-specific guidance.

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

CWE-457 (Use of Uninitialized Variable) manifests here as the C++ static initialization order fiasco. In static multithreaded ('mt') builds of the ODA Drawings SDK, the global COdaMfcAppApp theApp object's constructor can call code that reads OdString::kEmpty, a static member, before that member's dynamic initialization has completed across translation units. Because C++ does not define the order of dynamic initialization for static objects in different translation units, the read touches uninitialized memory and typically aborts startup, yielding a high availability impact. The flaw is confined to static 'mt' builds before 2026.12; dynamically linked builds and 2026.12+ are not affected. The undefined behavior theoretically permits memory corruption and arbitrary code execution in specific scenarios, but our assessment treats that escalation as unproven.

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 (8a9629cb-c5e7-4d2a-a894-111e8039b7ea) PRIMARY 7.0 HIGH
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:H/SC:N/SI:N/SA:N/AU:Y/R:U/V:D/RE:L/U:Amber
vuln.today AI 6.8 MEDIUM

Local-only trigger during static init gives AV:L/AC:L/PR:N/UI:N; deterministic startup crash is A:H, undefined behavior yields at most I:L, and no data disclosure means C:N.

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

Primary rating from Vendor (8a9629cb-c5e7-4d2a-a894-111e8039b7ea).

CVSS VectorVendor: 8a9629cb-c5e7-4d2a-a894-111e8039b7ea

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

DescriptionCVE.org

A Use of Uninitialized Variable vulnerability exists in Open Design Alliance Drawings SDK static versions (mt) before 2026.12. Static object COdaMfcAppApp theApp may access OdString::kEmpty before its initialization. Due to undefined initialization order of static objects across translation units (Static Initialization Order Fiasco), the application accesses uninitialized memory. This results in application crash on startup, causing denial of service. Due to undefined behavior,  memory corruption and potential arbitrary code execution cannot be ruled out in specific exploitation scenarios.

Executive ViewAI

Why It Matters

ODA Drawings SDK multithreaded ('mt') builds before 2026.12 that are statically linked and instantiate the global COdaMfcAppApp object can crash deterministically at application startup, creating an availability risk for affected drawing and engineering applications. The issue requires local access, and no public exploit code is identified at time of analysis, so leadership should focus on inventorying affected applications, limiting local exposure, and tracking vendor remediation rather than incident response.

Business Impact: Medium
Compensating Controls

No vendor-released patch identified at time of analysis; interim mitigations include restricting local access to affected applications, running with least privilege, application allowlisting and endpoint controls, monitoring for startup crashes, and engaging ODA for a supported workaround or fixed SDK build.

Threat Intelligence Overview

EPSS Score
0.2%
Top 96% exploitable
Prevalence
Medium
CAD interoperability SDK embedded in many vendor apps, not end-user ubiquitous
Data Quality
3 sources
Confidence: Low

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 HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Medium

Priority Score

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

Attack Technique

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

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