CVE-2026-99091
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: Bluetooth: MGMT: Güç kapatıldığında temizlenen bekleyen komutların durum bilgisi düzeltildi cmd_complete_rsp() bir struct cmd_lookup alır ve cmd_complete geri çağırma fonksiyonuna sahip olmayan bekleyen bir komut için cmd_status_rsp(cmd, data) kısmına geçer. cmd_status_rsp(), veriyi u8 * olarak okur; bu nedenle gönderilen durum bilgisi match->mgmt_status yerine match->sk temsilinin ilk baytından gelir. f53e1c9c726d ("Bluetooth: MGMT: Fix possible crash on mgmt_index_removed") commit'i, çağıranların verisini &status'ten &match'e değiştirmiş ve cmd_complete dalını match->mgmt_status şeklinde güncellemiştir ancak geçişteki veri aktarımını değiştirilmeden bırakmıştır. mgmt_index_removed() fonksiyonunda match->sk NULL olduğu için, bu tür her komuta MGMT_STATUS_INVALID_INDEX yerine 0x00 (Success) durumuyla yanıt verilir. __mgmt_power_off() fonksiyonunda da, eğer bekleyen bir Set Powered komutu yoksa değer NULL'dır: bu durumda settings_rsp() söz konusu komutun soketini match->sk içinde saklamıştır ve gönderilen bayt soket işaretçisinden gelir. Her iki durumda da çağıranın belirlediği durum bilgisi, MGMT_STATUS_NOT_POWERED (veya cihaz kaydı silinirken MGMT_STATUS_INVALID_INDEX), kaybolmaktadır. Çağıranlar tarafından belirlenen durum bilgisini iletin. Bu durum bir QCA9377 dizüstü bilgisayarda gözlemlenmiştir: adaptörün gücü kapatıldığında bekleyen bluetoothd Start Discovery isteğine parametresiz 0x00 Komut Durumu ile yanıt verilmiş ve bluetoothd 5.72 sıfır uzunluktaki başarı yanıtı nedeniyle çökmüştür. BlueZ ana dalı o zamandan beri ilgili yola uzunluk kontrolü eklemiştir ("adapter: Fix crash on short start discovery reply", BlueZ a734b06059cb), ancak kullanıcı alanına yine de Başarı değil, Güç Kapalı (Not Powered) bilgisi verilmelidir. Sanal bir denetleyici (hci_vhci) ile Ubuntu 7.0.0-31 üzerinde test edilmiştir: Start Discovery gönderilirken güç kapatma işlemi HCI Write Scan Enable aşamasında tutulmuş ve temizleme işlemi bu değişiklikle önce 0x00 durumuyla, değişiklikten sonra ise 0x0f (Not Powered) durumuyla yanıt vermiştir.
Nasıl düzeltilir
- Linux Linuxbbc485ee811a74fc1d4733d0a2b0eb5aeb271a08, 44ce36c5789ac84e65de1e98c32db9a5ac04ed47, 7ed7e038b520cf0dfa12d61c2caddb95e2f6922d, ec227cddd13cd7ac9077d263a73473ac370a055d, 07976405a3c71253e50533ee7b7a8b0dc16ab6ba, 86ef0f58bdecdedb3a1240971c56d71b7e4ce3fc, 6.1.191, 6.6.160, 6.11, 6.12 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | 19b40ca62607cef78369549d1af091f2fd558931 ≤ v < bbc485ee811a74fc1d4733d0a2b0eb5aeb271a08, 4883296505aa7e4863c6869b689afb6005633b23 ≤ v < 44ce36c5789ac84e65de1e98c32db9a5ac04ed47, f53e1c9c726d83092167f2226f32bd3b73f26c21 ≤ v < 7ed7e038b520cf0dfa12d61c2caddb95e2f6922d, f53e1c9c726d83092167f2226f32bd3b73f26c21 ≤ v < ec227cddd13cd7ac9077d263a73473ac370a055d, f53e1c9c726d83092167f2226f32bd3b73f26c21 ≤ v < 07976405a3c71253e50533ee7b7a8b0dc16ab6ba, f53e1c9c726d83092167f2226f32bd3b73f26c21 ≤ v < 86ef0f58bdecdedb3a1240971c56d71b7e4ce3fc, 0cc47233af35fb5f10b5e6a027cb4ccd480caf9a, 8c3f7943a29145d8a2d8e24893762f7673323eae, 6.1.120 ≤ v < 6.1.191, 6.6.55 ≤ v < 6.6.160, 6.10.14 ≤ v < 6.11, 6.11.3 ≤ v < 6.12, 6.12 | bbc485ee811a74fc1d4733d0a2b0eb5aeb271a08, 44ce36c5789ac84e65de1e98c32db9a5ac04ed47, 7ed7e038b520cf0dfa12d61c2caddb95e2f6922d, ec227cddd13cd7ac9077d263a73473ac370a055d, 07976405a3c71253e50533ee7b7a8b0dc16ab6ba, 86ef0f58bdecdedb3a1240971c56d71b7e4ce3fc, 6.1.191, 6.6.160, 6.11, 6.12 |
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.