- CWE-400
- CWE-772
CVE-2026-95108
Eclipse ThreadX modül yöneticisinde kullanıcı modu iş parçacığı silindiğinde ayrıcalıklı çekirdek yığını sızıntısı
- Yayımlandı
- Güncellendi
- 20 Eki 2026
- Açık yaşı
- 8 gün
- Kaydı açan
- eclipse
ÖzetTürkçe
Kullanıcı modunda çalışan bir ThreadX modülünün tek bir mantıksal iş parçacığı, Modül Yöneticisinin paylaşılan nesne havuzundan iki ayırma yapılmasına yol açar; bir tane değil. Modül, bir TX_THREAD kontrol bloğu için txm_module_object_allocate ile talepte bulunur; ardından _txm_module_manager_thread_create, iş parçacığının sistem çağrılarının üzerinde çalıştığı ayrıcalıklı çekirdek yığını için TXM_MODULE_KERNEL_STACK_SIZE bayt boyutunda ikinci bir ayırma yapar ve bunu kontrol bloğuna kaydeder. Her ikisi de _txm_module_manager_object_pool havuzundan alınır ve modülün ayırma listesine bağlanır.
Modül Yöneticisinin iş parçacığı silme dispatcher'ı yalnızca ilk ayırmayı serbest bırakır. Çekirdek yığını, modül tamamen durdurulana kadar ayrılmış kalır. Bu nedenle, iş parçacıklarını sürekli oluşturup sonlandıran ve silen bir modül — her durum geçişi geçerli, her servis TX_SUCCESS döndürür — her döngüde sabit bir bloğu, Modül Yöneticisi ve yüklü diğer tüm modüllerin paylaştığı sınırlı bir havuzdan kaldırır; modül yüklü kaldığı sürece bu sürer. Havuz tükendiğinde, bellek korumalı hiçbir modül çekirdek nesnesi oluşturamaz ve sistemin herhangi bir yerinde hiçbir kullanıcı modu modül iş parçacığı oluşturulamaz.
Zafiyetli fonksiyon: common_modules/module_manager/inc/txm_module_manager_dispatch.h dosyasındaki _txm_module_manager_tx_thread_delete_dispatch.
Kaynaktaki açıklama (İngilizce)
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.
Bu açığın açıklamasını Türkçeye çevirdik. Adım adım çözüm önerilerini kritik ve yeni açıklar için hazırlıyoruz; düzeltilmiş sürüm aşağıdaki tabloda, ayrıntılar üreticinin duyurusunda.
Etkilenen sürümler1 yazılım
| Yazılım | Etkilenen | Düzeltildiği sürüm |
|---|---|---|
| Eclipse Foundation Eclipse ThreadX | ≥ 6.0.1, ≤ 6.5.1.202602a | – |
| 6.5.2.202603 Etkilenmiyor | – |
Kaynaklar3 kaynak
Kayıt geçmişi
- Yayımlandı
İlgili açıklar
Türkçe metin, resmi kayıtlardaki bilgilerle yapay zekâ yardımıyla yazıldı ve yayından önce otomatik kontrollerden geçti. Bir değişikliği uygulamadan önce üreticinin duyurusuna mutlaka bakın.