CVE-2026-46275

Yüksək

Təsvir

Linux nüvəsində aşağıdakı zəiflik aradan qaldırılmışdır: Bluetooth: hci_uart: close və init yollarında UAF və yarış şəraitlərinin (race conditions) düzəldilməsi hci_uart-ın həyat dövrünün idarə edilməsində Use-After-Free (UAF) və Null Pointer Dereference (NPD) hallarının baş verməsinə səbəb olan zəifliklər müşahidə edilmişdir. Əsas problem ondan qaynaqlanır ki, TTY bağlanarkən yalnız HCI_UART_PROTO_READY bayrağı təyin edildikdə iş növbələri (init_ready və write_work) təmizlənilir/ləğv edilir. Əgər quraşdırma tamamlanmamışdan əvvəl bağlantı kəsilərsə, hci_uart_tty_close() bu iş növbələrinin ləğvini ötürür və `hu` strukturunu azad etməyə davam edir. Planlaşdırılmış iş daha sonra icra olunduqda, o, azad edilmiş `hu` strukturuna kor-koranə müraciət edir. Bundan əlavə, sökülmə ardıcıllığında bir neçə məlumat yarışı (data race) və UAF müəyyən edilmişdir: 1. write_work effektiv şəkildə deaktiv edilmədən hci_uart_close()-dan hci_uart_flush()-ın çağırılması, hər ikisinin eyni vaxtda hu->tx_skb-ni iki dəfə azad etməsinə (double-free) səbəb olan yarış şəraitinə yol açır. Bu, protokol taymerlərinin eyni vaxtda hci_uart_tx_wakeup()-i çağıra bilməsi və write_work-u yenidən növbəyə ala bilməsi səbəbindən baş verir. 2. hu->proto->close(hu) funksiyasından əvvəl hci_free_dev(hdev)-in çağırılması, vendor-a xas protokol bağlama geri çağırışları (callbacks) hu->hdev-ə müraciət etdikdə UAF-a səbəb olur. 3. Başlatma xətası yollarında, PROTO_READY təmizlənməzdən əvvəl proto_lock yazı kilidinin alınmaması aktiv oxucularla yarışlara gətirib çıxarır. Əlavə olaraq, hci_uart_tty_receive() oxuma kilidindən kənarda hu->hdev-ə müraciət edir ki, bu da başlatma xətası yolu eyni vaxtda hdev-i azad etdikdə UAF-lara səbəb olur. Bu sinxronizasiya və həyat dövrü problemləri aşağıdakılar vasitəsilə düzəldilmişdir: 1. hci_uart_tty_close() funksiyasının sırası dəyişdirilərək əvvəlcə HCI_UART_PROTO_READY təmizlənilmiş, dərhal sonra isə cancel_work_sync(&hu->write_work) çağırılmışdır. Bayrağın təmizlənməsi paralel protokol taymerlərinin hci_uart_tx_wakeup()-i uğurla çağırmasının qarşısını alır, beləliklə ləğvi qalıcı edir və tx_skb-nin iki dəfə azad edilməsinin qarşısını alır. 2. Qeyd: PROTO_READY-nin erkən təmizlənməsi hci_uart_close()-un hu->proto->flush()-ı ötürməsinə səbəb olur. Bu, tty_close yolunda tamamilə təhlükəsizdir, çünki hu->proto->close() qısa müddət sonra icra olunur və bu, təbiəti etibarilə bütün protokol SKB növbələrini təmizləyir və vəziyyəti sökür. 3. Vendor səviyyəli UAF-ların qarşısını almaq üçün bütün bağlanma və xəta yollarında hu->proto->close(hu) çağırışı ciddi şəkildə hci_free_dev(hdev)-dən əvvələ köçürülmüşdür. 4. Cihazın qeydiyyatdan çıxarılması ilə təhlükəsiz sinxronizasiyanı təmin etmək üçün hci_uart_tty_receive()-də hdev->stat.byte_rx artımı proto_lock oxuma tərəfli kritik bölməsinin daxilinə köçürülmüşdür. 5. HCI nüvəsi vasitəsilə hci_uart_flush() çağırılmadan əvvəl iş növbəsini təhlükəsiz şəkildə təmizləmək üçün hci_uart_close()-a cancel_work_sync(&hu->write_work) əlavə edilmişdir. 6. İstifadəçi sahəsinin (user-space) yenidən cəhd imkanlarının qalıcı olaraq pozulmasının qarşısını almaq üçün bütün yollarda disable_work_sync() əvəzinə cancel_work_sync()-dən istifadə edilmişdir.

CiddilikYüksək
CVSS7.8
İstismar ehtimalı—
MəhsulLinux Kernel
Dərc8 iyn 2026
İlk görülmə8 iyn 2026

Necə düzəltmək olar

Yeniləyin
  • linux linux_kernel4.15, 4.20, 5.5, 5.9, 5.10.258, 5.15.209, 6.1.175, 6.6.142, 6.12.92, 6.18.34, 7.0.11 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
linux linux_kernel4.14.203 ≤ v < 4.15, 4.19.153 ≤ v < 4.20, 5.4.73 ≤ v < 5.5, 5.8.17 ≤ v < 5.9, 5.9.2 ≤ v < 5.10.258, 5.11 ≤ v < 5.15.209, 5.16 ≤ v < 6.1.175, 6.2 ≤ v < 6.6.142, 6.7 ≤ v < 6.12.92, 6.13 ≤ v < 6.18.34, 6.19 ≤ v < 7.0.11, 7.14.15, 4.20, 5.5, 5.9, 5.10.258, 5.15.209, 6.1.175, 6.6.142, 6.12.92, 6.18.34, 7.0.11

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-46275 · Linux Kernel · Dark Radar