- Yama var
- Son 7 gün
CVE-2026-99013
Linux çekirdeğinde Bluetooth ISO BIS dinleyici kurulumunda eşzamanlı çağrı bellek hatası
- 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ım | Etkilenen | Dü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
- 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.