CVE-2026-98109
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: Bluetooth: hci_core: Cihaz kaydı sırasında oluşan yarış durumu (race condition) düzeltildi hci_register_dev() fonksiyonunda, power_on iş öğesi; hdev->adv_monitors_idr başlatılmadan ve msft_register() aracılığıyla MSFT uzantısı kaydedilmeden önce hdev->req_workqueue'ya eklenmektedir. HCI_QUIRK_RAW_DEVICE gibi quirks ile işaretlenmiş cihazlar için cihaz üzerinde HCI_UNCONFIGURED bayrağı ayarlanır. power_on iş öğesi başka bir CPU'da eşzamanlı olarak çalıştığında, hci_power_on() cihazın yapılandırılmadığını tespit eder ve derhal msft_do_close() fonksiyonunu çağıran hci_dev_do_close() fonksiyonunu tetikler. Eşzamanlı olarak, msft_register() fonksiyonu msft yapısını tahsis eder ve mutex_init(&msft->filter_lock) çağrısından önce bunu hdev->msft_data'ya sunar. Eğer msft_do_close(), hdev->msft_data zaten atanmış ancak mutex henüz başlatılmamışken yürütülürse, mutex_lock(&msft->filter_lock) başlatılmamış bir mutex üzerinde işlem yapar ve bu durum bir DEBUG_LOCKS uyarısını tetikler: DEBUG_LOCKS_WARN_ON(lock->magic != lock) WARNING: kernel/locking/mutex.c:625 at __mutex_lock_common kernel/locking/mutex.c:625 [inline] WARNING: kernel/locking/mutex.c:625 at __mutex_lock+0x12d8/0x1550 kernel/locking/mutex.c:821 ... Call Trace: <TASK> msft_do_close+0x308/0x7b0 net/bluetooth/msft.c:693 hci_dev_close_sync+0x86b/0x10a0 net/bluetooth/hci_sync.c:5522 hci_dev_do_close net/bluetooth/hci_core.c:499 [inline] hci_power_on+0x32c/0x750 net/bluetooth/hci_core.c:937 process_one_work kernel/workqueue.c:3322 [inline] process_scheduled_works+0xa8e/0x14e0 kernel/workqueue.c:3405 worker_thread+0x92d/0xe10 kernel/workqueue.c:3486 kthread+0x388/0x470 kernel/kthread.c:436 ret_from_fork+0x514/0xb70 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 </TASK> Bu sorun, asenkron görevler erişmeden önce cihaz yapılarının ve uzantıların tamamen başlatılması için hci_register_dev() içerisindeki queue_work() çağrısının idr_init(&hdev->adv_monitors_idr) ve msft_register(hdev) işlemlerinden sonraya taşınmasıyla düzeltilmiştir. Ek olarak, msft_register() içerisinde hdev->msft_data ataması yalnızca mutex_init(&msft->filter_lock) tamamlandıktan sonra gerçekleştirilecek şekilde düzenlenmiştir.
Nasıl düzeltilir
- linux linux_kernel6.5, 6.12.111, 6.18.53, 7.2.7 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| linux linux_kernel | 6.4.16 ≤ v < 6.5, 6.5.3 ≤ v < 6.12.111, 6.13 ≤ v < 6.18.53, 6.19 ≤ v < 7.2.7, 7.3 | 6.5, 6.12.111, 6.18.53, 7.2.7 |
| microsoft azl3_kernel_6.6.157.1-1 | Aralık belirtilmemiş | — |
| microsoft azl3_kernel_6.6.159.1-1 | Aralık belirtilmemiş | — |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.