CVE-2026-99011

Yüksək

Təsvir

Linux kernel-də aşağıdakı zəiflik aradan qaldırılmışdır: Bluetooth: SCO: sco_conn ömrünün sco_recv_scodata() ilə ardıcıllığının təmin edilməsi sco_recv_scodata() funksiyası hdev->lock altında zəif hcon->sco_data geri-göstəricisini güclü istinada yüksəldir: 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); Lakin göstərici digər tərəfdən həmin kilid olmadan təmizlənir. Son sco_conn istinadı silindikdə, sco_conn_free() funksiyası hdev->lock saxlanılmadan işə düşürdü: conn->hcon->sco_data = NULL; Beləliklə, RX yolu hcon->sco_data oxuya və eyni zamanda azad edilmiş sco_conn üzərində kref_get_unless_zero() çağıra bilirdi: 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ız sıfır istinad sayına qarşı qoruyur, yaddaşın artıq azad edilmiş olmasına qarşı yox. hcon->sco_data-ya onun göstərdiyi sco_conn üzərində faktiki istinad verilir ki, göstərici hələ də quraşdırılmış halda olduqda obyekt azad edilməsin və o, yalnız hdev->lock altında işləyən sco_conn_del() vasitəsilə təmizlənsin və silinsin (onun çağırıcıları olan sco_connect_cfm() və sco_disconn_cfm() bu kilidi saxlayırlar). sco_recv_scodata()-dakı oxuyucu da hdev->lock götürdüyü üçün yazma və oxuma əməliyyatları indi ardıcıllaşdırılır: RX yolu ya NULL görür, ya da öz istinadını buraxana qədər etibarlı qalacağına zəmanət verilmiş bir istinad görür. sco_conn_add() artıq öz kref_init() istinadını bağlantının yeganə istinadı kimi çağırıcıya ötürmür; həmin ilkin istinad hcon->sco_data tərəfindən sahiblik edilir və çağırıcılar öz istinadlarını sco_conn_hold() vasitəsilə əldə edirlər. sco_conn artıq soketdən daha uzun müddət mövcud ola bildiyi üçün (assosiasiya link kəsilənə qədər onu aktiv saxlayır), soketin bağlanmasına mənfi təsir göstərmədən hci_conn artıq sco_conn_free() vasitəsilə silinə bilməz: qoşulmuş SCO soketinin bağlanması hələ də linki kəsməlidir. Bunun əvəzinə hci_conn sahibliyi soketə köçürülür: __sco_chan_add() bir hci_conn istinadı götürür və o, dəqiq bir dəfə sco_chan_del() və sco_sock_destruct() vasitəsilə azad edilir. sco_conn artıq hci_conn istinadına sahib deyil, buna görə də sco_conn_add() birini istehlak etməyi dayandırır və sco_connect() hər yolda hci_connect_sco() istinadını silir; sco_connect_cfm() artıq hci_conn_hold() prosesinə ehtiyac duymur.

CiddilikYüksək
CVSS7.1
İstismar ehtimalı—
MəhsulLinux
Dərc23 okt 2026
İlk görülmə23 okt 2026

Necə düzəltmək olar

Yeniləyin
  • Linux Linuxb108ea7ebba147465f4158d8133f0e8f013762ed, 8a98d58f6cfe70d51138cd9ce894e72671d95f8a, 816fb1590a4c8cf8d05cd076057616be02e276f0 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
Linux Linuxe6720779ae612a14ac4ba7fe4fd5b27d900d932c ≤ v < b108ea7ebba147465f4158d8133f0e8f013762ed, e6720779ae612a14ac4ba7fe4fd5b27d900d932c ≤ v < 8a98d58f6cfe70d51138cd9ce894e72671d95f8a, e6720779ae612a14ac4ba7fe4fd5b27d900d932c ≤ v < 816fb1590a4c8cf8d05cd076057616be02e276f0, 6.13b108ea7ebba147465f4158d8133f0e8f013762ed, 8a98d58f6cfe70d51138cd9ce894e72671d95f8a, 816fb1590a4c8cf8d05cd076057616be02e276f0

Versiyanızı yoxlayın

Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.

Intelligence 360 paketində

Attack Surface Management

Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.

CVE-2026-99011 · Linux · Dark Radar