Skip to main content

Eclipse ThreadX CVE-2026-95108

| EUVDEUVD-2026-105149 MEDIUM
Uncontrolled Resource Consumption (CWE-400)
2026-10-20 eclipse
6.8
CVSS 4.0 · Vendor: eclipse
View

Attack ChainAIDerived

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

  1. Access
    Load or control user-mode module
  2. Delivery
    Loop create/terminate/delete thread
  3. Exploit
    Leak kernel-stack block each cycle
  4. Execution
    Exhaust shared object pool
  5. Impact
    System-wide thread/object creation fails

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource consumption limits
MITRE ATT&CK

1 technique across 1 tactic: Impact

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

Exploitation Conditions

Requires a system using the ThreadX Module Manager with memory-protected user-mode modules, and the attacker must be able to load or already execute such a module with the ability to call the thread create/terminate/delete services. The leak is triggered specifically by the thread-delete path (_txm_module_manager_tx_thread_delete_dispatch), which frees only the TX_THREAD control block and never the separately-allocated privileged kernel stack; the module must repeatedly cycle thread lifecycle and stay loaded for the shared pool to drain. Limiting factors: local access only (AV:L), low-but-nonzero privilege (PR:L - attacker-controlled module code), no remote or unauthenticated path, and impact limited to availability (denial of service). Systems not using user-mode/memory-protected modules are not exposed.

Impact

This is a resource-exhaustion denial-of-service (CWE-400) in the Eclipse ThreadX Module Manager, not a code-execution or data-disclosure flaw. The provided CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H) is internally consistent with the description: exploitation is local, requires low privileges (the attacker must already be running a loaded user-mode module), needs no user interaction, and impacts availability only (VC:N/VI:N). The 6.8 score is moderate and well-calibrated - there is no confidentiality or integrity impact, and no scope change. Real-world risk is bounded by the precondition: the attacker must already be able to load/execute a memory-protected user-mode module that can create and delete threads, so this is a privilege-bounded local DoS rather than a remote or unauthenticated threat. No EPSS score, KEV listing, or POC was provided; per the input there is no public exploit identified. The bug is deterministic and trivially triggered once an attacker controls a module (every service returns TX_SUCCESS while the kernel stack leaks), which raises reliability of exploitation, but the local/privileged gate keeps this a targeted insider/compromised-module concern rather than a broadly exploitable one. No signals conflict; the main missing data is EPSS and any independent confirmation of patched versions.

Exploit ScenarioDerived

An attacker who can load or already controls a user-mode ThreadX module writes it to create, terminate, and delete a thread in a tight loop. Each iteration leaks one TXM_MODULE_KERNEL_STACK_SIZE block from the shared Module Manager object pool, and after enough cycles the pool is exhausted, after which no memory-protected module can create any kernel object and no user-mode module thread can be created system-wide. No public exploit code was identified at time of analysis, but the trigger is deterministic and requires only ordinary, successful ThreadX API calls.

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

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

Alert me

AnalysisAIv1 – Oct 20, 2026

Denial of service in the Eclipse ThreadX Module Manager (CWE-400) lets a loaded user-mode module permanently drain the shared module object pool by cycling threads. Each thread a module creates consumes two allocations - a TX_THREAD control block plus a separately allocated TXM_MODULE_KERNEL_STACK_SIZE kernel stack - but the thread-delete dispatcher releases only the control block, so every valid create/terminate/delete cycle silently removes one fixed-size block from a finite pool shared by the Module Manager and all other loaded modules. A module that loops this lifecycle long enough exhausts the pool, after which no memory-protected module anywhere in the system can create kernel objects or new user-mode threads. Exploitation requires local execution of a loadable user-mode module (PR:L per the assessed CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H vector) and is purely an availability impact; no public exploit code or confirmed active exploitation was identified at time of analysis.

RemediationAI

Vendor guidance is published in the Eclipse ThreadX security advisory GHSA-9hhf-6357-hpgq (https://github.com/eclipse-threadx/threadx/security/advisories/GHSA-9hhf-6357-hpgq); no exact patched version is identified in the available data, so treat this as "Patch available per vendor advisory" and confirm the fixed release against the advisory before deploying. The fix itself is small and can be backported: in _txm_module_manager_tx_thread_delete_dispatch, free the kernel-stack pointer recorded in the TX_THREAD control block (TXM_MODULE_KERNEL_STACK_SIZE bytes) back to _txm_module_manager_object_pool in addition to the control block, before unlinking the entry from the module's allocation list. Where patching is not immediately possible, the highest-value compensating control is to stop and restart any module that performs thread churn - a module stop unwinds its whole allocation list and reclaims the leaked kernel stacks, at the cost of resetting that module's runtime state and dropping its live threads. Additionally, audit user-mode modules for create/terminate/delete loops and rate-limit or eliminate thread recycling in favor of a fixed, pre-created thread pool, since a bounded thread count bounds the leak; this requires source changes to the module but removes the trigger entirely. Only load signed or otherwise trusted modules, because the leak requires attacker-controlled module code to run at PR:L, and keep pool-consuming critical modules away from modules permitted to allocate threads (separate Module Manager instances or static allocation for trusted subsystems) so that exhaustion of the shared pool cannot starve them. Monitoring the _txm_module_manager_object_pool free-block count for a monotonic decline while a module is loaded gives detection coverage, and the trade-off for all of these workarounds is that they reduce functionality or isolation rather than eliminating the root-cause free-path defect.

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's module subsystem enables memory-protected (MPU-isolated) user-mode modules whose system calls trap into the privileged Module Manager. Because a module cannot allocate supervisor-mode memory, _txm_module_manager_thread_create performs two allocations from the shared _txm_module_manager_object_pool on its behalf: the TX_THREAD control block requested via txm_module_object_allocate, and a second block of TXM_MODULE_KERNEL_STACK_SIZE bytes backing the privileged kernel stack on which that thread's system calls execute. The kernel-stack pointer is stashed inside the control block and both blocks are linked onto the module's allocation list. The defect lives in _txm_module_manager_tx_thread_delete_dispatch (common_modules/module_manager/inc/txm_module_manager_dispatch.h): the delete path frees only the control block and never the recorded kernel stack, so the stack remains charged to the module until the entire module is stopped and its allocation list unwound. This is the classic CWE-400 uncontrolled-resource-consumption pattern - an asymmetric alloc/free pairing in a fixed-size, cross-module shared heap rather than a memory-safety corruption. The bug is silent by design: every API call returns TX_SUCCESS and every state transition is legal, so the leak is only observable as the pool's free count monotonically declining while a module stays loaded; the CPE entry carries a wildcard version, indicating the defect is presumed present across ThreadX releases rather than confined to a single tagged build.

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.8 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 5.5 MEDIUM

Attacker must run a loaded user-mode module (PR:L, AV:L); trigger is deterministic (AC:L); only the shared pool/availability is affected (A:H, C:N/I:N), no scope change.

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

DescriptionCVE.org

One logical thread of a user-mode ThreadX module costs the Module Manager's shared object pool two allocations, not one. The module asks for a TX_THREAD control block through txm_module_object_allocate; _txm_module_manager_thread_create then takes a second allocation of TXM_MODULE_KERNEL_STACK_SIZE bytes for the privileged kernel stack that thread's system calls run on, and records it in the control block. Both come from _txm_module_manager_object_pool and both are linked onto the module's allocation list.

The Module Manager's thread-delete dispatcher released only the first. The kernel stack stayed allocated until the whole module was stopped, so a module that creates, terminates and deletes threads in a loop - every state transition valid, every service returning TX_SUCCESS - removed a fixed block from a finite pool shared by the manager and by every other loaded module, on every cycle, for as long as it stayed loaded. Once the pool is exhausted, no memory-protected module can create any kernel object and no user-mode module thread can be created anywhere in the system.

Vulnerable function: _txm_module_manager_tx_thread_delete_dispatch, in common_modules/module_manager/inc/txm_module_manager_dispatch.h.

Threat Intelligence Overview

EPSS Score
0.2%
Top 94% exploitable
Prevalence
High
ThreadX is widely deployed in embedded/IoT, but the Module Manager feature is optional
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.2%
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

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

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