CVE-2026-115654 in ThreadXinfo

Summary

by MITRE • 11/02/2026

In Eclipse ThreadX versions 6.0.1 through 6.5.2.202603, the Module Manager's thread-control services do not check that a thread passed by a user-mode, memory-protected module belongs to that module. Any loaded module can suspend, resume, terminate, reset or re-prioritise application threads and other modules' threads and abort their waits, denying service or changing how the system schedules them.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Analysis

by VulDB Data Team • 11/02/2026

The vulnerability identified in Eclipse ThreadX versions 6.0.1 through 6.5.2.202603 represents a critical failure in access control mechanisms within the real-time operating system's Module Manager subsystem. This flaw stems from an insufficient validation of thread ownership during thread-control operations, allowing user-mode modules to manipulate threads that do not belong to them. In embedded and industrial systems utilizing ThreadX, strict isolation between software components is essential for maintaining system stability and security. The absence of a check verifying whether the target thread resides within the memory space or logical scope of the invoking module creates a significant trust boundary violation. This design oversight permits any loaded module, regardless of its privilege level or intended function, to exert control over threads belonging to other modules or core application logic.

From a technical perspective, the vulnerability affects several key API functions responsible for thread management, including suspend, resume, terminate, reset, and re-prioritization services. When these functions are invoked by a user-mode module, they accept any valid thread identifier without verifying if that thread was created by or is associated with the calling module. Consequently, a malicious or compromised module can target threads belonging to critical system components, security monitors, or other application modules. This lack of isolation means that the operating system does not enforce proper separation between distinct software entities, violating fundamental principles of least privilege and compartmentalization in secure systems design.

The operational impact of this vulnerability is severe and multifaceted. An attacker who gains access to a user-mode module can leverage these unchecked thread-control services to cause denial-of-service conditions by suspending or terminating critical threads responsible for system monitoring, communication, or safety functions. Furthermore, the ability to re-prioritize threads allows an adversary to manipulate the scheduling algorithm, potentially starving high-priority tasks of CPU time or causing priority inversion issues that degrade real-time performance. By aborting waits on behalf of other modules, an attacker can disrupt synchronization primitives such as semaphores and event flags, leading to deadlocks, race conditions, or unpredictable system behavior. In safety-critical environments like automotive control units or medical devices, these disruptions could lead to catastrophic failures where the system fails to respond appropriately to external stimuli or internal state changes.

This vulnerability aligns with CWE-269, which describes Improper Privilege Management, specifically regarding the failure to enforce proper access controls for thread manipulation operations. It also maps closely to MITRE ATT&CK techniques related to Defense Evasion and Impact, such as T1055 (Process Injection) or more accurately in this context, T1489 (Service Stop), where an adversary disrupts service availability by stopping processes or services. The ability to alter thread priorities corresponds to resource manipulation tactics that can be used to facilitate further exploitation or degrade system responsiveness during a cyber-attack.

Mitigation strategies must focus on enforcing strict ownership checks within the Module Manager's implementation of thread-control APIs. Developers should ensure that every call to suspend, resume, terminate, reset, re-prioritize, or abort wait operations validates that the target thread identifier belongs exclusively to the calling module's address space and logical context. This validation can be achieved by maintaining a mapping between modules and their created threads at the kernel level and rejecting requests where ownership does not match. For systems already deployed with vulnerable versions of ThreadX, applying vendor-provided patches is the primary remediation path. In environments where patching is not immediately feasible, implementing additional runtime monitoring or restricting module loading permissions can help reduce the attack surface by limiting which modules have access to thread management services.

Responsible

Eclipse

Reservation

10/23/2026

Disclosure

11/02/2026

Moderation

accepted

EPSS

0.00133

KEV

no

Activities

low

Sources

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!