Skip to main content

Eclipse ThreadX CVE-2026-94023

| EUVDEUVD-2026-105146 MEDIUM
Out-of-bounds Read (CWE-125)
2026-10-20 eclipse
6.9
CVSS 4.0 · Vendor: eclipse
View

Attack ChainAIDerived

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

  1. Access
    Load or compromise a ThreadX module
  2. Exploit
    Resolve shared object pointer by name
  3. Execution
    Invoke privileged delete via Module Manager dispatcher
  4. Impact
    Destroy application/other-module kernel object

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK

1 technique across 1 tactic: Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires a ThreadX deployment using the Module Manager with loadable modules, and an attacker who already has code execution inside one such module (PR:L, AV:L - local only). The attacker must obtain a pointer to a kernel object it does not own (a shared queue, semaphore, or mutex created by the application or another module), typically via txm_module_object_pointer_get_extended name lookup, then route that pointer to the object delete service through the privileged dispatcher. Limiting factors: exploitation is impossible without the module feature in use and without multiple/mixed-trust modules; it provides no confidentiality access (VC:N), requires no user interaction, and cannot be triggered remotely - firmware built as a single trusted monolithic image is not exposed.

Impact

The vendor-supplied CVSS 4.0 vector (CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:H) scores 6.9 (Medium) and is internally consistent with the description: this is a local, low-complexity authorization flaw exploitable only by an already-loaded ThreadX module (PR:L), not a remote network issue. No EPSS score, no CISA KEV listing, and no public POC are present in the provided data, so there is no evidence of active or opportunistic exploitation - the practical risk is bounded to systems that actually deploy loadable ThreadX modules in a mixed-trust configuration. The real threat is a privilege/isolation boundary violation: a module can name any kernel object it holds a pointer to (including objects owned by the application or other modules) and have the privileged Module Manager dispatcher delete it, yielding integrity and availability impact (VC:N confirms no confidentiality loss). Note a signal conflict: the input Tags ('Buffer Overflow', 'Information Disclosure') and CWE-125 (out-of-bounds read) do NOT match the described logic/authorization defect or the VC:N/VI:H/VA:H impact profile - this is arbitrary object destruction, not a memory-read bug, so the categorization appears mislabeled and should be treated with caution. This is a legitimate-but-moderate priority: meaningful for multi-module/multi-tenant embedded deployments, low urgency for single-trusted-image firmware.

Exploit ScenarioDerived

In a device running multiple ThreadX loadable modules, a compromised or malicious lower-privileged module calls txm_module_object_pointer_get_extended to resolve a pointer to a shared queue, semaphore, or mutex it does not own, then invokes the kernel object delete service through the Module Manager's dispatch layer. Because the dispatcher only checks that the object lies outside the caller's own code/data (the policy for using shared objects), the privileged delete succeeds, destroying another module's or the application's kernel object and causing crashes, deadlocks, or denial of service. No public exploit identified at time of analysis; local module-level code execution (PR:L) is required.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.1% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 20, 2026

Eclipse ThreadX deployments that use the Module Manager to load untrusted or mixed-trust modules let a module destroy kernel objects it does not own: the privileged dispatcher validates only that a pointer targets memory outside the caller's own code and data, which is the correct policy for *using* a shared object but not for deleting one. Any code running inside a loaded module, having obtained a pointer (for example via txm_module_object_pointer_get_extended name lookup) to an application- or peer-module-owned queue, semaphore, or mutex, can route that pointer to the kernel object delete service and have it torn down, yielding a local integrity and availability impact (CVSS 4.0 6.9; CVSS 3.1 AV:L/PR:L/UI:N/I:H/A:H, no confidentiality impact). Exploitation requires the module feature to be enabled with more than one trust domain, is local only, and does not apply to firmware built as a single monolithic trusted image; no public exploit code has been identified at time of analysis and the issue is not in CISA KEV.

RemediationAI

Apply the vendor fix referenced by Eclipse ThreadX advisory GHSA-36vf-7cx6-9f9j (https://github.com/eclipse-threadx/threadx/security/advisories/GHSA-36vf-7cx6-9f9j); no exact fixed version number is stated in the supplied data, so confirm the patched release against the advisory before rebuilding. If the update cannot be deployed immediately, the most direct compensating control is to remove the object delete service from the Module Manager dispatch table (or gate it behind a kernel-side ownership check that compares the pointer against the object's recorded creating-module ID), accepting the side effect that modules can no longer free even objects they legitimately created, so the application must own teardown of all module-created objects. A second option is to stop exporting txm_module_object_pointer_get_extended, or restrict name lookup to an allow-list of shared objects, which reduces the attack surface but breaks legitimate cross-module sharing patterns and requires auditing every module for lookup dependencies. Architecturally, run only single-trust-level module sets or build the product as a monolithic trusted image without Module Manager, trading away module isolation for safety. Additionally, code-review any module dispatch handlers reachable from unprivileged modules that accept object pointers for destructive verbs, and monitor for unexpected object deletion or registry corruption as a detection signal, since the flaw requires an attacker to already be executing inside a module.

Affected VersionsENISA

Eclipse ThreadX 6.0.1 ≤6.5.1.202602a

Affected Packages

euvd eclipse_threadx no fix

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

ThreadX is Eclipse Foundation's real-time operating system; its optional Module Manager lets separately compiled modules run under a memory-protection wrapper while calling kernel services through a dispatch/supervisor-call layer that the privileged kernel validates. The legitimate sharing model is that a module may be handed a pointer to an object it does not own - txm_module_object_pointer_get_extended resolves objects by name across the whole system, including objects created by the application or by other modules, so modules can post to a shared queue, take a shared semaphore, or lock a shared mutex. The dispatcher's pointer check therefore only answers one question: does this pointer fall outside the calling module's own code and data region? That is an ownership check for *use*, not for *disposal*. The delete service inherits the same check, so naming or passing any reachable kernel object causes the kernel to unlink and free an object whose lifetime belongs to another component, corrupting the object registry and dangling every other holder's handle. Note the intake metadata is inconsistent: CWE-125 (out-of-bounds read) and the reported tags (Buffer Overflow, Information Disclosure) do not reflect an out-of-bounds read; the defect class is a missing authorization/ownership check on a destructive operation, whose demonstrated effect is integrity and availability loss, not disclosure. The CPE (cpe:2.3:a:eclipse_foundation:eclipse_threadx:*:*:*:*:*:*:*:*) does not pin a version range, so treat all ThreadX releases shipping the Module Manager as potentially affected until the vendor advisory scope is applied.

Know when Eclipse Threadx 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 (eclipse) PRIMARY 6.9 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 7.1 HIGH

A loaded module (local, PR:L) with low complexity abuses the privileged delete path; impact is destruction of kernel objects (I:H/A:H) with no data disclosure (C:N), scope kept U to match the single-system impact.

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

Primary rating from Vendor (eclipse).

CVSS VectorVendor: eclipse

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

DescriptionCVE.org

A ThreadX module reaches a kernel object's delete service through the Module Manager's dispatch layer, which asked one question about the pointer: does the object lie outside the module's own code and data. That is the policy for *using* an object, and using an object a module does not own is supported and intended - txm_module_object_pointer_get_extended searches the system's created objects by name and hands back objects the application created and objects other modules created, so that a module can send to a shared queue, take a shared semaphore or get a shared mutex.

Destroying one of those is not sharing it. A module could name any object it had a pointer to and have the privileged dispatcher delete it.

Threat Intelligence Overview

EPSS Score
0.1%
Top 98% exploitable
Prevalence
High
very widely deployed embedded RTOS, but loadable-module feature is a subset
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 No
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
None
System Exposure· derived
Small
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

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