CVE-2026-53357
Təsvir
Linux kernelində aşağıdakı zəiflik aradan qaldırılıb: Bluetooth: l2cap_sock_cleanup_listen() ilə l2cap_conn_del() arasında UAF-ın düzəldilməsi bt_accept_dequeue() hələ qəbul edilməmiş uşaq prosesi valideynin qəbul növbəsindən ayırır və qayıtmazdan əvvəl onun üzərində release_sock() çağırır, buna görə də qaytarılan sk-in çağıran tərəfindən istinadı yoxdur və kilidi açıqdır. l2cap_sock_cleanup_listen() dinləyici soketin bağlanması zamanı bu uşaq prosesləri gəzir. Eyni vaxtda baş verən HCI əlaqəsinin kəsilməsi hci_rx_work -> l2cap_conn_del() zəncirini işə salır, bu da l2cap_chan_del() + l2cap_sock_kill() çağırır və uşaq sk-i və onun l2cap_chan-ını azad edir; sonra cleanup_listen() hər ikisindən istifadə edir: BUG: KASAN: slab-use-after-free in l2cap_sock_kill l2cap_sock_kill / l2cap_sock_cleanup_listen / __x64_sys_close Freed by: l2cap_conn_del -> l2cap_sock_close_cb -> l2cap_sock_kill Bu, bu sahədə artıq mövcud olan iki düzəlişdən fərqlidir: e83f5e24da741 commit-i ("Bluetooth: serialize accept_q access") accept_q siyahısını/poll-u seriyalaşdırır və bt_accept_dequeue() daxilində müvəqqəti istinadlar götürür, CVE-2025-39860 isə istifadəçi məkanındakı close()/accept() yarışını l2cap_sock_release() daxilində lock_sock() altında cleanup_listen() çağırmaqla seriyalaşdırır. Heç biri hci_rx_work-dan işləyən l2cap_conn_del()-i əhatə etmir, buna görə də bu UAF cari bluetooth/master üzərində hələ də təkrarlanır. İstinadı mənbədə götürün: bt_accept_dequeue() sk hələ kilidli ikən, release_sock()-dan əvvəl sock_hold() çağırır; çağıranlar sock_put() çağırır. cleanup_listen() qısa müddətli uşaq sk kilidi altında (l2cap_sock_teardown_cb() ilə seriyalaşdıraraq) l2cap_chan_hold_unless_zero() ilə chan-ı saxlayır, l2cap_chan_lock()-dan əvvəl onu buraxır və SOCK_DEAD üzərində təkrar l2cap_sock_kill() çağırışını atlayır. conn->lock burada götürülmür: cleanup_listen() valideyn sk kilidi altında işləyir və bu, conn->lock -> chan->lock -> sk_lock (lockdep) sırasını tərsinə çevirərdi. KASAN/SMP: imtiyazsız listen/close ilə HCI əlaqəsinin kəsilməsi arasındakı yarış bu dəyişiklikdən əvvəl hər işə salınmada 12 use-after-free hesabatı yaradırdı; bu dəyişiklikdən sonra bluetooth/master üzərində 1600+ yarışlı iterasiya ərzində 0 hesabat və heç bir lockdep hesabatı müşahidə olunmadı.
Necə düzəltmək olar
- linux linux_kernel5.10.259, 5.15.210, 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əhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| linux linux_kernel | 5.7 ≤ v < 5.10.259, 5.11 ≤ v < 5.15.210, 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.1 | 5.10.259, 5.15.210, 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.
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.