CVE-2026-82389
Açıklama
Bluetooth Classic Hands-Free Profile Audio Gateway rolünde, subsys/bluetooth/host/classic/hfp_ag.c dosyasındaki hfp_ag_create() fonksiyonu eş cihaza yönelik bir SDP keşfi başlatır ve bu işlem gömülü ag->sdp_param._node yapısını subsys/bluetooth/host/classic/sdp.c dosyasındaki SDP istemcisinin bekleyen istek listesine bağlar. Eğer ardından gelen bt_rfcomm_dlc_connect() çağrısı başarısız olursa, bt_hfp_ag_connect() söz konusu düğüm hala bağlıyken ve ag->slc_work sistem iş kuyruğunda hala sıralanmış olabilirken tüm AG nesnesini memset() ile temizleyerek işlemi sonlandırır. Devam eden bir SDP keşfi iptal edilemez — bt_sdp_discover_cancel() genel başlıkta tanımlanmıştır ancak herhangi bir uygulaması yoktur — bu nedenle istek; func, pool ve uuid işaretçileri sıfırlanmış halde listede kalır. Normal AG akışında bt_hfp_ag_connect()'e aktarılan RFCOMM kanalı, eş cihazın kendi SDP Hands-Free servis kaydından alınır (bt_sdp_get_proto_param() herhangi bir aralık doğrulaması yapmaz ve samples/bluetooth/classic/handsfree_ag değeri doğrudan iletir); dolayısıyla radyo menzilindeki ve 0x01..0x1e geçerli aralığının dışındaki bir RFCOMM kanalını reklam eden uzak bir BR/EDR cihazı, bt_rfcomm_dlc_connect()'in başarısız olmasını ve silme işlemine ulaşılmasını belirleyici şekilde zorlar. Eş cihazın SDP kaydının okunması eşleştirme gerektirmez ve eş cihaz ayrıca ACL bağlantısını keserek veya doğru anda aynı DLCI üzerinde bir RFCOMM DLC yarışı başlatarak hatayı tetikleyebilir. SDP istemcisi bir sonraki seferde istek listesini ilerlettiğinde, sdp_client_discover() sıfırlanmış parametrelerin referanslarını çözer — NULL havuzuyla net_buf_alloc(param->pool, …) ve param->uuid->type — ve sonuç bildirim yolları NULL olan params->func üzerinden çağrı yapar. Bağlı bir düğümün sıfırlanması aynı zamanda güncelliğini yitirmiş bir kuyruk işaretçisinin arkasındaki istek listesini kırpar ve serbest bırakılan AG yuvasının yeniden doldurulması aynı düğümü tekrar ekler ve Bluetooth RX iş parçacığını askıya alan kendi kendini döngüye sokan bir liste oluşturabilir. Bunun etkisi Bluetooth yığınının çökmesi veya askıda kalmasıdır; yazılan değer sabit bir statik adreste sabit bir sıfırdır, bu nedenle saldırgan tarafından kontrol edilen bir yazma işlemi mümkün değildir. Yalnızca Audio Gateway rolünü kullanan CONFIG_BT_CLASSIC ve CONFIG_BT_HFP_AG yapılandırmasına sahip derlemeler etkilenmektedir.
Nasıl düzeltilir
- zephyrproject zephyr4.5.0 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| zephyrproject zephyr | 4.4.0 ≤ v < 4.5.0 | 4.5.0 |
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.