Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessLoad malicious memory-protected user-mode module
-
DeliveryRegister attacker function pointer as trace-full callback
-
ExploitTrace buffer wraps, kernel invokes callback unvalidated
-
ExecutionAttacker code executes with kernel privilege
-
ImpactFull kernel compromise / privilege escalation
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V8 - Authorization Least privilege enforcement
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires ALL of: (1) firmware compiled with the TX_ENABLE_EVENT_TRACE build option (non-default), (2) a module loaded in TXM_MODULE_USER_MODE with TXM_MODULE_MEMORY_PROTECTION - i.e. the attacker already controls executing code inside a memory-protected user module, and (3) the trace buffer must wrap to trigger the callback (occurs during normal operation). The core weakness is that the module-registered global trace-full callback is invoked directly by privileged kernel code with no pointer validation and no privilege-dropping trampoline. Limiting factors: local access only (attacker must already run a loaded module), a non-default build flag, and the deployment model must permit loading of untrusted/third-party modules; devices without event tracing or without loadable user modules are not exploitable. |
| Impact | The CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:L/UI:N with full VC/VI/VA:H and subsequent-system SC/SI/SA:H = 9.3) correctly models a user-mode-to-kernel privilege escalation: local vector, low privileges (a module must already be loaded and executing), and a scope-crossing impact where the compromised subsystem is the entire kernel. However, the raw 9.3 overstates real-world urgency because two significant preconditions gate exploitation and are not reflected in the base metrics: the firmware must be built with TX_ENABLE_EVENT_TRACE (non-default), and the attacker must already be running code inside a loaded TXM_MODULE_USER_MODE | TXM_MODULE_MEMORY_PROTECTION module - meaning this is a privilege-escalation primitive that presumes prior code execution, not an initial-access flaw. No EPSS score, no CISA KEV listing, and no public exploit code are present in the input; the reporter's runtime register capture (CONTROL.nPRIV=0) confirms exploitability in a lab but is not released exploit code. Net: technically severe (defeats the core memory-protection guarantee of the module manager) but low likelihood of opportunistic mass exploitation - realistic risk is targeted, and confined to devices that both enable event tracing and load third-party/untrusted modules. |
| Exploit ScenarioDerived | An attacker who can get a memory-protected user-mode module loaded onto a ThreadX device (built with event tracing enabled) registers a function pointer into its own code as the global trace-full callback. When the trace buffer wraps during normal operation, the kernel invokes that pointer directly from privileged context, executing the attacker's code with kernel privilege (CONTROL.nPRIV=0). No public exploit code exists, but the reporter confirmed the privileged execution at runtime. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 29, 2026
User-mode-to-kernel privilege escalation in Eclipse ThreadX lets a loaded, memory-protected TXM module register an arbitrary function pointer as the global trace-full callback, which privileged kernel code then invokes directly with no pointer validation and no privilege-dropping trampoline when the trace buffer wraps. Affected builds are those compiled with the non-default TX_ENABLE_EVENT_TRACE option and running modules in TXM_MODULE_USER_MODE with TXM_MODULE_MEMORY_PROTECTION; an invalid pointer crashes the kernel (denial of service), while a pointer into the module's own code has been observed executing with kernel privilege (CONTROL.nPRIV = 0), producing a scope-crossing compromise of the RTOS kernel by a local, low-privileged attacker. Exploitation requires the attacker to already control executing code inside a loaded module plus the non-default trace build flag, and no public exploit code has been identified at time of analysis.
RemediationAI
No exact fixed version is confirmed in the provided data, so apply the vendor fix referenced by the Eclipse ThreadX security advisory GHSA-xr9m-8j99-rw4m (https://github.com/eclipse-threadx/threadx/security/advisories/GHSA-xr9m-8j99-rw4m) as soon as it is available for your ThreadX revision and rebuild the firmware. Until then, the highest-value mitigation is to compile the kernel without the non-default TX_ENABLE_EVENT_TRACE option, which removes the trace-full callback invocation path entirely; the trade-off is loss of event-tracing diagnostics during development and field debugging. Additionally, stop loading untrusted or third-party modules in TXM_MODULE_USER_MODE with TXM_MODULE_MEMORY_PROTECTION and restrict module loading to signed/verified images, accepting reduced extensibility; where module support is not required, disabling user-mode module loading entirely eliminates the exposure. Systems without event tracing enabled or without loadable user modules do not require these compensating measures.
Affected VersionsENISA
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
Eclipse ThreadX (formerly Azure RTOS ThreadX) is a real-time operating system whose optional TXM module subsystem can run loadable modules in user mode with memory protection (TXM_MODULE_USER_MODE | TXM_MODULE_MEMORY_PROTECTION). When the kernel is built with the non-default TX_ENABLE_EVENT_TRACE option, a module can register a global trace-full callback that the kernel is expected to invoke when the internal trace buffer wraps. The flaw is rooted in CWE-269 (Improper Privilege Management): the registration path does not validate the supplied function pointer and the invocation path contains no trampoline that would drop privilege before entering module-supplied code, so the callback runs in kernel context. A runtime register capture inside the module's own code confirmed CONTROL.nPRIV = 0, i.e. the callback executes with kernel privilege. The affected component is identified by CPE cpe:2.3:a:eclipse_foundation:eclipse-threadx/threadx:*:*:*:*:*:*:*:*, and the CVSS:4.0 vector (AV:L/AC:L/AT:N/PR:L/UI:N with VC/VI/VA:H and SC/SI/SA:H = 9.3) correctly models a local, low-privilege escalation that crosses the module-to-kernel scope boundary.
Know when Eclipse Threadx 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:H/VI:H/VA:H/SC:H/SI:H/SA:H
Attacker already runs a loaded user-mode module (AV:L/PR:L); unvalidated callback runs at kernel privilege crossing the user/kernel boundary (S:C) with full kernel C/I/A impact.
Primary rating from Vendor (eclipse).
CVSS VectorVendor: eclipse
DescriptionCVE.org
Attacker model / Preconditions: a loaded TXM_MODULE_USER_MODE | TXM_MODULE_MEMORY_PROTECTION module issuing kernel dispatch calls, on a build with TX_ENABLE_EVENT_TRACE.
A user-mode, memory-protected module can register an arbitrary function pointer as the global trace-full callback. The kernel calls it directly - no validation, no trampoline - from privileged kernel code when the trace buffer wraps.
An invalid pointer faults the kernel (DoS). A pointer into the module's own code was observed running with kernel privilege (CONTROL.nPRIV = 0), confirmed at runtime with a register capture inside that code.
Executive ViewAI
Eclipse ThreadX, an RTOS used in embedded and safety-critical systems, contains a critical user-mode-to-kernel privilege escalation in builds that enable the non-default event trace option and run memory-protected user-mode modules; a local attacker who already controls code in a loaded module can gain kernel privileges, potentially compromising device integrity, safety, and data. No vendor-released patch identified at time of analysis and no public exploit identified at time of analysis. Leadership should prioritize inventory and mitigation for affected configurations because kernel compromise can undermine the trust boundary of deployed devices.
No vendor-released patch identified at time of analysis; interim mitigations include rebuilding without TX_ENABLE_EVENT_TRACE, disabling or restricting TXM_MODULE_USER_MODE/TXM_MODULE_MEMORY_PROTECTION module loading to trusted signed modules, enforcing module code signing and least privilege, and monitoring for kernel crashes or anomalous trace buffer wrap events.
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
Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.
EUVD-2026-89173
GHSA-f447-c7m5-8f96
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB