Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessLoad or compromise a ThreadX module
-
ExploitResolve shared object pointer by name
-
ExecutionInvoke privileged delete via Module Manager dispatcher
-
ImpactDestroy 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
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
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
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
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.
Primary rating from Vendor (eclipse).
CVSS VectorVendor: eclipse
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
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
More in Eclipse Threadx
View allEclipse ThreadX's Cortex-A7 MMU module port accepts a caller-supplied buffer range after validating only its first byte,
Eclipse ThreadX firmware built with Module Manager and loadable modules enabled contains a use-after-free in txm_module_
Integer overflow in the Eclipse ThreadX module manager lets a loaded module under-allocate an object-pool block and corr
A crafted ThreadX module can permanently hang the entire kernel by abusing the Module Manager's object-lookup path: the
Denial of service in the Eclipse ThreadX Module Manager (CWE-400) lets a loaded user-mode module permanently drain the s
Out-of-bounds read in the Eclipse ThreadX Module Manager's block-pool create dispatcher (_txm_module_manager_tx_block_po
Eclipse ThreadX's memory-protected module support under-validates queue extents in the front-send path: the Module Manag
EUVD-2026-105146
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB