Katalog CVE

CVE-2026-94192

WysokieCVSS 8.5
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

Moduł ThreadX alokuje bloki kontrolne swoich obiektów jądra z puli obiektów Module Managera i może zażądać zwrotu tej pamięci przez adres za pomocą txm_module_object_deallocate. Manager zwalnia ją niezależnie od zawartości, w tym blok kontrolny wciąż używany przez jądro. Dealokacja nie jest usunięciem: obiekt pozostaje na liście utworzonych, wątek pozostaje na liście gotowych lub zawieszonych i pozostaje planowalny, a aktywny timer pozostaje na liście timerów, podczas gdy pula bajtów może przydzielić te same bajty kolejnej alokacji.

Ocena ryzyka

Ponowne użycie zwolnionej pamięci przez jądro może prowadzić do uszkodzenia struktur jądra, nieprzewidywalnego zachowania i potencjalnego wykonania kodu. Może to zagrozić stabilności i bezpieczeństwu systemu.

Rekomendacja

Zastosuj poprawkę producenta dla ThreadX, która uniemożliwia zwalnianie bloków kontrolnych wciąż używanych przez jądro. Do czasu aktualizacji przejrzyj moduły korzystające z txm_module_object_deallocate.

Inne podatności w ThreadX

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

A ThreadX module allocates the control blocks of its kernel objects from the Module Manager's object pool, and can ask for that memory back by address with `txm_module_object_deallocate`. The manager released it whatever was in it, including a control block the kernel was still using. Deallocation is not deletion: the object stays on the created list for its type, a thread stays wherever it was on the ready or suspension lists and stays schedulable, and an active timer stays on the timer list. The byte pool is meanwhile free to hand those same bytes to the next allocation.

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