Skip to main content

Eclipse ThreadX CVE-2026-94024

| EUVDEUVD-2026-105147 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 crafted module into Module Manager
  2. Exploit
    Call object pointer lookup with oversized/unbounded search name
  3. Execution
    Name walk reads unmapped privileged memory
  4. Impact
    Read fault with preemption disabled halts kernel permanently

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

Exploitation requires that the target build uses the ThreadX Module Manager and loads modules whose trust is not guaranteed, and that the attacker can supply or compromise such a module so it invokes txm_module_object_pointer_get_extended (which is passed a length but never uses it to bound the buffer) or the deprecated txm_module_object_pointer_get (which supplies UINT max, removing the bound entirely) with a crafted object search name. Limiting factors: local vector only (AV:L) - no network reachability; PR:L - the attacker needs the privilege to load/run a module within the Module Manager, so a system that runs only vendor-trusted, statically-verified modules or that does not enable the Module Manager is not realistically exposed; no user interaction is required (UI:N) once a hostile module runs. The realistic outcome is a permanent scheduler hang (DoS), not privilege escalation or code execution.

Impact

The vendor-supplied CVSS 4.0 base score is 6.9 (Medium) with vector AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N, and the primary impact is availability (VA:H): an attacker-controlled module forces an unbounded out-of-bounds read (CWE-125) in privileged kernel mode while the preemption count is raised, so a read fault permanently disables scheduling for the remaining uptime of the device - a durable, non-recoverable denial of service rather than code execution (VI:N) or meaningful data theft (VC:L only). The decisive limiting signal is PR:L combined with AV:L: this is NOT remotely reachable; the attacker must already be able to load and run a module within the Module Manager, so it is primarily a sandbox-escape-to-DoS (confidentiality of the module sandbox) rather than an internet-facing threat. No EPSS score, no CISA KEV listing, no SSVC decision data, and no POC indicator were provided in the input, so there is no public exploit identified at time of analysis and no evidence of active exploitation. Note a discrepancy to verify: the input Tags label this 'Buffer Overflow' and 'Information Disclosure', but the CWE (125, out-of-bounds read) and the description's own emphasis indicate the dominant real-world outcome is a permanent kernel hang (DoS), not a write-based overflow or a significant information leak - treat the tags as approximate, not as the actual impact profile. Overall this is a genuine but situational issue: high impact where loadable modules are used and partially untrusted, low urgency where the module set is fully trusted or the Module Manager is not deployed.

Exploit ScenarioDerived

In a ThreadX deployment that uses the Module Manager to run partially-trusted loadable modules, a malicious or compromised module calls an object-pointer lookup dispatcher with a search name whose declared length is oversized (or, via the deprecated path, effectively unbounded). The kernel walks the name comparison past the module's buffer into memory a privileged read cannot access; the resulting fault occurs while preemption is disabled, hanging the scheduler for the rest of the system's life. No public exploit code is identified in the provided data, and the local attack vector (AV:L, PR:L) means the attacker must first be able to load/run a module.

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

A crafted ThreadX module can permanently hang the entire kernel by abusing the Module Manager's object-lookup path: the search name for a memory-protected module is validated on only one byte and then walked in privileged mode for as far as the module declares. Both lookup dispatchers are affected - the recommended txm_module_object_pointer_get_extended accepts a length argument but never uses it to bound the buffer, while the deprecated txm_module_object_pointer_get passes the maximum UINT value, removing the bound entirely - so a hostile module forces an out-of-bounds read (CWE-125) without needing to know anything about the memory it reaches. Because the walk happens with the kernel's preemption count raised, an unrecoverable read fault leaves the scheduler disabled for the remainder of the device's uptime, making this a durable denial of service rather than privilege escalation or code execution. The local attack vector (CVSS 4.0 base 6.9; assessed 3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:H) requires the attacker to already be able to load or compromise a module in a build that enables the Module Manager; no public exploit code has been identified at time of analysis and there is no confirmed active exploitation (no CISA KEV listing).

RemediationAI

No vendor-released patch version is identified in the available data; the upstream advisory GHSA-39rx-hq8c-4px8 (https://github.com/eclipse-threadx/threadx/security/advisories/GHSA-39rx-hq8c-4px8) should be consulted for the fixed release and the exact commit, since the references point only to that advisory. Until a patched ThreadX build is deployed, the highest-value control is to stop untrusted module code from reaching the lookup path: enforce signature or hash verification of every module at load time and refuse unsigned modules (trade-off: an out-of-band signing/provisioning pipeline and key management burden, and any legacy unsigned modules must be re-signed or retired), or disable the Module Manager entirely in builds that do not require runtime module loading (trade-off: loss of field-updatable module functionality, requiring a full firmware rebuild for changes). Where modules must still load, migrate callers off the deprecated txm_module_object_pointer_get to txm_module_object_pointer_get_extended and additionally patch or wrap the comparison so the supplied length actually bounds the walk, since the extended API in affected builds ignores its length argument (trade-off: a local source patch must be carried and re-applied on every upstream rebase and is not a substitute for an official fix). Restricting who can load modules to a privileged, audited provisioning channel limits the PR:L prerequisite but does not help once a malicious module is resident. Because a fault here is unrecoverable, enabling a hardware watchdog is only a partial compensating control - it converts a permanent hang into a reboot loop rather than preventing the denial of service.

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

Eclipse ThreadX is a real-time operating system whose Module Manager lets separately compiled, memory-protected modules be loaded at runtime and resolve kernel objects by name. The vulnerable logic lives in _txm_module_manager_txm_module_object_pointer_get_dispatch and _txm_module_manager_txm_module_object_pointer_get_extended_dispatch (common_modules/module_manager/inc/txm_module_manager_dispatch.h), which hand the caller-supplied (or defaulted) search name to _txm_module_manager_object_name_compare (common_modules/module_manager/src/txm_module_manager_util.c). That comparison validates a single byte of the module-supplied name and then continues walking memory for as long as the module's declared length dictates, executing in privileged mode with the kernel preemption count raised. The extended API is given an explicit length but does not apply it as a bound, and the deprecated API supplies UINT_MAX, which eliminates the bound rather than merely omitting it. The root cause class is CWE-125 (out-of-bounds read): the module controls traversal distance, not the contents of the memory traversed. If the walk touches an address a privileged read cannot access, the resulting fault occurs while preemption is disabled and cannot be unwound, leaving the scheduler dead - hence high availability impact (VA:H) with only limited confidentiality exposure (VC:L) and no integrity impact (VI:N). The affected CPE is cpe:2.3:a:eclipse_foundation:eclipse_threadx with a wildcard version, indicating the flaw is tracked at the product level rather than tied to a single release.

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:L/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 6.1 MEDIUM

A loadable module (PR:L) locally (AV:L) triggers the read with low complexity; impact is a permanent scheduler hang (A:H) with minor memory exposure (C:L) and no write/integrity effect (I:N).

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:H
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/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
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

The Module Manager's object lookup validated one byte of a memory-protected module's search name and then walked as much of it as the module declared, in privileged mode, with the kernel's preemption count raised. Both lookup dispatchers are affected: the recommended txm_module_object_pointer_get_extended is handed a length and does not use it to bound the buffer, and the deprecated txm_module_object_pointer_get supplies the largest value a UINT can hold, so it removes the bound rather than lacking one.

A module can make the walk unbounded without knowing anything about the memory it reaches, and where the walk reaches memory a privileged read cannot take, the resulting fault leaves the kernel unable to preempt for the rest of the system's life.

Vulnerable functions: _txm_module_manager_txm_module_object_pointer_get_dispatch, _txm_module_manager_txm_module_object_pointer_get_extended_dispatch (both in common_modules/module_manager/inc/txm_module_manager_dispatch.h) and _txm_module_manager_object_name_compare (common_modules/module_manager/src/txm_module_manager_util.c).

Threat Intelligence Overview

EPSS Score
0.1%
Top 97% exploitable
Prevalence
High
very widely deployed embedded RTOS; vulnerable Module Manager is an optional feature
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

Attack Technique

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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