CVE-2026-99011

Yüksek

Açıklama

Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: Bluetooth: SCO: sco_conn ömrünü sco_recv_scodata() ile serileştirin sco_recv_scodata(), hdev->lock altında zayıf hcon->sco_data geri işaretçisini güçlü bir referansa yükseltir: hci_dev_lock(hdev); hcon = hci_conn_hash_lookup_handle(hdev, handle); ... conn = sco_conn_hold_unless_zero(hcon->sco_data); hci_dev_unlock(hdev); ancak işaretçi, diğer taraftan bu kilit olmadan temizlenmektedir. Son sco_conn referansı bırakıldığında, sco_conn_free() şu işlemi gerçekleştiriyordu: conn->hcon->sco_data = NULL; Bu işlem sırasında hdev->lock tutulmadığından, RX yolu hcon->sco_data değerini okuyabilir ve eşzamanlı olarak serbest bırakılmış bir sco_conn üzerinde kref_get_unless_zero() fonksiyonunu çağırabilirdi: BUG: KASAN: slab-use-after-free in sco_conn_hold_unless_zero+0xbe/0x160 Write of size 4 by task kworker/u17:0 Workqueue: hci0 hci_rx_work Call Trace: sco_conn_hold_unless_zero+0xbe/0x160 sco_recv_scodata+0x13f/0x490 hci_rx_work+0x3af/0x730 kref_get_unless_zero() yalnızca sıfır referans sayısına karşı koruma sağlar, destekleyici belleğin halihazırda serbest bırakılmış olmasına karşı koruma sağlamaz. hcon->sco_data'ya, işaret ettiği sco_conn üzerinde gerçek bir referans verilerek, işaretçi hala yüklüyken nesnenin serbest bırakılamaması sağlanmıştır; ayrıca işaretçinin temizlenmesi ve bırakılması işlemi sadece hdev->lock altında çalışan sco_conn_del() içerisinden yapılmaktadır (çağırıcıları olan sco_connect_cfm() ve sco_disconn_cfm() bu kilidi tutar). sco_recv_scodata() içindeki okuyucu da hdev->lock kullandığından, yazma ve okuma işlemleri artık serileştirilmiştir: RX yolu ya NULL görür ya da kendi referansını bırakana kadar geçerli kalacağı garanti edilen bir referans görür. sco_conn_add(), kref_init() referansını artık bağlantının tek referansı olarak çağırıcıya devretmez; bu ilk referans hcon->sco_data tarafından sahiplenilir ve çağırıcılar kendi referanslarını sco_conn_hold() aracılığıyla alır. sco_conn artık soketten daha uzun süre yaşayabildiği için (ilişkilendirme, bağlantı kopana kadar onu hayatta tutar), soket kapatma işlevinde gerilemeye yol açmadan hci_conn artık sco_conn_free() üzerinden bırakılamaz: bağlı bir SCO soketinin kapatılması hala bağlantıyı sonlandırmalıdır. Bunun yerine hci_conn sahipliği sokete taşınmıştır: __sco_chan_add() bir hci_conn referansı alır ve bu referans sco_chan_del() ve sco_sock_destruct() üzerinden tam olarak bir kez serbest bırakılır. sco_conn artık bir hci_conn referansına sahip değildir, bu nedenle sco_conn_add() referans tüketmeyi durdurur ve sco_connect() her yolda hci_connect_sco() referansını bırakır; sco_connect_cfm() artık hci_conn_hold() işlemine ihtiyaç duymaz.

ÖnemYüksek
CVSS7.1
İstismar olasılığı—
ÜrünLinux
Yayın23 Eki 2026
İlk görülme23 Eki 2026

Nasıl düzeltilir

Güncelleyin
  • Linux Linuxb108ea7ebba147465f4158d8133f0e8f013762ed, 8a98d58f6cfe70d51138cd9ce894e72671d95f8a, 816fb1590a4c8cf8d05cd076057616be02e276f0 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
Linux Linuxe6720779ae612a14ac4ba7fe4fd5b27d900d932c ≤ v < b108ea7ebba147465f4158d8133f0e8f013762ed, e6720779ae612a14ac4ba7fe4fd5b27d900d932c ≤ v < 8a98d58f6cfe70d51138cd9ce894e72671d95f8a, e6720779ae612a14ac4ba7fe4fd5b27d900d932c ≤ v < 816fb1590a4c8cf8d05cd076057616be02e276f0, 6.13b108ea7ebba147465f4158d8133f0e8f013762ed, 8a98d58f6cfe70d51138cd9ce894e72671d95f8a, 816fb1590a4c8cf8d05cd076057616be02e276f0

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.

Intelligence 360 paketinde

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.

CVE-2026-99011 · Linux · Dark Radar