Katalog CVE

CVE-2026-95108

ŚrednieCVSS 6.8
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

W ThreadX menedżer modułów przy usuwaniu wątku zwalniał tylko pierwszą z dwóch alokacji (blok kontrolny TX_THREAD i stos jądra TXM_MODULE_KERNEL_STACK_SIZE). Stos jądra pozostawał zajęty do zatrzymania całego modułu, więc moduł tworzący i usuwający wątki w pętli wyczerpywał współdzieloną pulę obiektów, uniemożliwiając tworzenie nowych obiektów jądra i wątków modułów w całym systemie.

Ocena ryzyka

Atakujący moduł może wyczerpać skończoną pulę pamięci menedżera modułów, powodując odmowę usługi (brak możliwości tworzenia obiektów jądra i wątków) dla wszystkich modułów w systemie.

Rekomendacja

Zastosuj poprawkę dostawcy dla ThreadX, która zapewnia zwolnienie obu alokacji przy usuwaniu wątku modułu.

Inne podatności w ThreadX

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

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`.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS