CVE-2026-95108 PUBLISHED

Deleting a user-mode module thread leaks its privileged kernel stack

Assigner: eclipse
Reserved: 23.09.2026 Published: 20.10.2026 Updated: 20.10.2026

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.

Metrics

CVSS Vector: 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
CVSS Score: 6.8

Product Status

Vendor Eclipse Foundation
Product Eclipse ThreadX
Versions Default: unaffected
  • affected from 6.0.1 to 6.5.1.202602a (incl.)
  • Version 6.5.2.202603 is unaffected

Credits

  • fdesbiens finder

References

Problem Types

  • CWE-400 Uncontrolled Resource Consumption CWE
  • CWE-772 Missing Release of Resource after Effective Lifetime CWE