CVE-2026-79982
Açıklama
Yeni USB aygıt yığınının Bluetooth HCI USB taşıma sınıfı olan subsys/usb/device_next/class/bt_hci.c, her bir denetleyici-ana bilgisayar (controller-to-host) HCI paketini, bir uç noktaya kuyruğa eklemeden önce bir USB aktarım tamponuna kopyalar. bt_hci_tx_sync_in(), bu tamponu yuvaları yalnızca USBD_MAX_BULK_MPS bayt (yalnızca tam hız destekli derlemelerde 64 bayt) olan sabit bir havuz olan bt_hci_ep_pool üzerinden tahsis eder ve ardından herhangi bir uzunluk kontrolü yapmadan net_buf_add_mem(buf, bt_buf->data, bt_buf->len) işlemini gerçekleştirir. HCI olay ve ACL tamponları CONFIG_BT_BUF_EVT_RX_SIZE ve CONFIG_BT_BUF_ACL_RX_SIZE tarafından boyutlandırılır ve çok daha büyük olabilir; bu nedenle kopyalama işlemi 64 baytlık yuvanın sonunu aşarak bitişik yuvalara ve statik olarak tahsis edilen havuzu takip eden bölümlere taşar. Aygıt, yerel Bluetooth denetleyicisini ham HCI modunda (CONFIG_BT_HCI_RAW) çalıştırdığı için aşırı boyutlu paketler havadan gelir. Tam özellikli denetleyiciler için önerilen HCI tampon boyutlarıyla, Bluetooth menzilindeki kimliği doğrulanmamış bir saldırgan taşmaya neden olan baytları sağlayabilir: Veri Uzunluğu Uzantısı (Data Length Extension) üzerinde anlaşan bağlı bir eş, CONFIG_BT_CTLR_DATA_LENGTH_MAX bayta kadar ACL parçaları gönderebilir ve yalnızca genişletilmiş reklam verisi yayınlayan bir saldırgan, denetleyicinin yalnızca CONFIG_BT_BUF_EVT_RX_SIZE boyutunda parçaladığı LE Genişletilmiş Reklam Raporu (LE Extended Advertising Report) olayları aracılığıyla aynı yola ulaşır. Standart yapılandırmada, herhangi bir radyo trafiği olmaksızın taşma zaten gerçekleşmektedir: Zorunlu Read Supported Commands komut-tamamlama olayı 70 bayttır ve her ana bilgisayar başlatmasında 64 baytlık yuvayı altı bayt aşar. net_buf_add_mem(), CONFIG_NET_BUF_HARDENING etkinleştirilmediği sürece kuyruk boşluğunu (tailroom) yalnızca bir onaylama (assertion) yoluyla doğruladığından, genellikle üretim ayarı olan CONFIG_ASSERT=n ile yapılan derlemeler, USB tampon havuzuna bitişik belleği saldırgan tarafından seçilen içeriklerle sessizce bozar; bu durum, alt sistemler arasında bellek koruması olmayan bir hedefte rastgele kod çalıştırmaya yol açabilir. Onaylamaların etkin olduğu derlemeler ise bunun yerine onaylamada başarısız olur ve panikler, bu da uzaktan tetiklenebilen bir hizmet reddine (DoS) neden olur. Düzeltme, ana bilgisayardan aygıta (host-to-device) havuzunu yeniden birleştirme sırasında zaten sınır kontrolü yapılan uç nokta paket boyutunda bırakırken, denetleyici-ana bilgisayar yönü için MAX(BT_BUF_ACL_RX_SIZE, BT_BUF_EVT_RX_SIZE) boyutunda ayrı bir bt_hci_tx_pool tanıtır.
Nasıl düzeltilir
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| zephyrproject zephyr | 3.3.0 ≤ v ≤ 4.4.2 | — |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.