{"id":42218,"date":"2026-10-21T00:32:39","date_gmt":"2026-10-20T16:32:39","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-95108"},"modified":"2026-10-21T00:32:39","modified_gmt":"2026-10-20T16:32:39","slug":"cve-2026-95108","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-95108","title":{"rendered":"CVE-2026-95108 &#8211; One logical thread of a user-mode ThreadX module costs the Module Manager&#8217;s shared object"},"content":{"rendered":"<p>One logical thread of a user-mode ThreadX module costs the Module Manager&#8217;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&#8217;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&#8217;s allocation list.<\/p>\n<p>The Module Manager&#8217;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 \u2014 every state transition valid, every service returning `TX_SUCCESS` \u2014 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.<\/p>\n<p>Vulnerable function: `_txm_module_manager_tx_thread_delete_dispatch`, in `common_modules\/module_manager\/inc\/txm_module_manager_dispatch.h`.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>One logical thread of a user-mode ThreadX module costs the Module Manager&#8217;s shared object pool two allocations, not one. The module asks for a `TX_THREAD` control block through `txm_module_object_allo<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-42218","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/42218","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=42218"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=42218"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=42218"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}