Zafiyet.live Keşfet. Değerlendir. Düzelt. Doğrula.
  • Yama var
  • Son 7 gün

CVE-2026-99013

Linux çekirdeğinde Bluetooth ISO BIS dinleyici kurulumunda eşzamanlı çağrı bellek hatası

Linux

Yüksek 7,8 CVSS 3.1
Yayımlandı
Güncellendi
24 Eki 2026
Açık yaşı
5 gün
Kaydı açan
Linux

ÖzetTürkçe

Linux çekirdeğinde, iso_sock_listen fonksiyonu hdev->lock kilitlenme sırasını korumak için iso_listen_bis çağrısından önce soket kilidini bırakır. Bu nedenle aynı yayın soketinde iki eşzamanlı listen çağrısı her ikisinin de BT_BOUND durumunu görmesine yol açabilir. A çağrısı connA bağlantısını ekleyip kilitleri serbest bırakabilir, ardından B çağrısı kilitleri alıp A BT_LISTEN durumunu yayınlamadan connB bağlantısını ekleyebilir. __iso_chan_add connB'nin zaten bir sokete sahip olup olmadığını kontrol eder, ancak soketin zaten bir bağlantısı olup olmadığını kontrol etmez. İkinci ekleme iso_pi(sk)->conn alanının üzerine yazar, connA referansını sızdırır ve connA->sk işaretçisini geçerli bırakır. Soket sonlandırma işlemi connB üzerinden yürüdüğü için connA üzerindeki sonraki olaylar eski bir soket erişimine neden olabilir. Düzeltmede, iso_listen_bis içinde hem HCI cihaz kilidi hem de soket kilidi alındıktan sonra BT_BOUND durumu yeniden kontrol edilir ve iso_pi(sk)->conn değerinin NULL olması zorunlu kılınır. Bu kontrol, bağlantı eklenmesi ile BT_LISTEN yayınlanması arasındaki aralığı da kapsar. Çakışan kurulum, yeni bir bağlantı ayırmadan önce mevcut hata çıkış yolu üzerinden -EBADFD hatasıyla reddedilir. Derlemesi KASAN ile yapılmış bir çekirdekten alınan kayıtta slab-use-after-free hatası görülmüştür; bu hata iso_sock_hold üzerinden iso_conn_del çağrısında ortaya çıkmakta, soket ise iso_sock_release sırasında serbest bırakılmaktadır. Etkilenen sürümler: 6.12.6 ile 6.12.113 öncesi ve 6.13. Düzeltme 6.12.113 sürümünde yapılmıştır. CVSS 3.1 vektörü: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H, puan 7.8 (YÜKSEK).

Kaynaktaki açıklama (İngilizce)

In the Linux kernel, the following vulnerability has been resolved:

Bluetooth: ISO: Reject concurrent BIS listener setup

iso_sock_listen() drops the socket lock before calling iso_listen_bis()
to preserve the hdev->lock ordering. Two concurrent listen() calls on
the same broadcast socket can therefore both observe BT_BOUND. Caller
A can attach connA and release the locks, then caller B can acquire
them and attach connB before A publishes BT_LISTEN.

__iso_chan_add() checks whether connB already has a socket, but not
whether the socket already has a connection. The second attachment
overwrites iso_pi(sk)->conn, leaking the connA reference and leaving
connA->sk intact. Socket teardown follows connB, so later events on
connA can cause a stale socket access.

Recheck BT_BOUND and require iso_pi(sk)->conn to be NULL after taking
both the HCI device and socket locks in iso_listen_bis(). The connection
check also covers the interval between attachment and publication of
BT_LISTEN. Reject a competing setup with -EBADFD through the existing
unlock path before allocating another connection.

A recorded KASAN report from an instrumented kernel shows:

BUG: KASAN: slab-use-after-free in iso_sock_hold+0x119/0x1f0
Call Trace:
iso_sock_hold+0x119/0x1f0
iso_conn_del+0xe4/0x270
hci_disconn_complete_evt+0x351/0x8c0
hci_event_packet+0x71b/0xb20
hci_rx_work+0x293/0x730

Allocated by task 93:
sk_prot_alloc+0x113/0x220
sk_alloc+0x2b/0x6d0
bt_sock_alloc+0x29/0x370
iso_sock_alloc.constprop.0+0x19/0x300
iso_sock_create+0x94/0x100

Freed by task 93:
kfree+0x121/0x3c0
__sk_destruct+0x42b/0x540
iso_sock_release+0x29d/0x340
__sock_release+0xa1/0x260
sock_close+0x10/0x20

Bu açığın açıklamasını Türkçeye çevirdik. Adım adım çözüm önerilerini kritik ve yeni açıklar için hazırlıyoruz; düzeltilmiş sürüm aşağıdaki tabloda, ayrıntılar üreticinin duyurusunda.

Etkilenen sürümler1 yazılım

YazılımEtkilenenDüzeltildiği sürüm
Linux ≥ 6.12.6, < 6.12.113 6.12.113
6.13 –
< 6.13 Etkilenmiyor –
≥ 6.12.113 Etkilenmiyor –
≥ 6.18.57 Etkilenmiyor –
≥ 7.2.11 Etkilenmiyor –

Kaynaklar6 kaynak

Kayıt geçmişi

  1. Yayımlandı

İlgili açıklar

Türkçe metin, resmi kayıtlardaki bilgilerle yapay zekâ yardımıyla yazıldı ve yayından önce otomatik kontrollerden geçti. Bir değişikliği uygulamadan önce üreticinin duyurusuna mutlaka bakın.