CVE-2026-82388

Orta

Açıklama

subsys/bluetooth/host/classic/hfp_hf.c içindeki bt_hfp_hf_connect(), bağlantı başına HFP Hands-Free nesnesini hfp_hf_create() ile tahsis eder; bu işlem, nesnenin gömülü hf->sdp_param değerini bt_sdp_discover() fonksiyonuna geçirerek bir SDP keşfi başlatır. Bu çağrı, çağıran tarafa ait parametre bloğunu SDP istemcisinin istek listesine (subsys/bluetooth/host/classic/sdp.c içindeki session->reqs) bağlar. Eğer ardından gelen bt_rfcomm_dlc_connect() başarısız olursa, etkilenen kod, söz konusu keşif işlemi hala devam ederken tüm nesneyi (void)memset(new_hf, 0, sizeof(*new_hf)) ile siler; böylece SDP istemcisinin listesinde hala bağlı olan sys_snode_t _node ile isteğin func, uuid ve pool işaretçileri sıfırlanır ve sistem iş kuyruğunda halihazırda kuyruğa alınmış olabilecek hf->slc_work iş öğesi sıfırlanır. Keşif işlemi geri çekilememektedir çünkü bt_sdp_discover_cancel() include/zephyr/bluetooth/classic/sdp.h içinde tanımlanmıştır ancak herhangi bir uygulaması yoktur. Hata veren dala, eş tarafından sağlanan girdiyle ulaşılabilir. bt_hfp_hf_connect()'in belgelenmiş kullanımı, uzak Audio Gateway'in SDP kaydından okunan RFCOMM kanalını geçirmektir; ne bt_sdp_get_proto_param() ne de bt_hfp_hf_connect() bu değeri aralık kontrolünden geçirir, dolayısıyla 1-30 dışında bir RFCOMM kanalıyla HFP AG kaydı yayınlayan uzak bir cihaz, bt_rfcomm_dlc_connect()'in -EINVAL döndürmesine neden olur ve yerel cihazın silme işlemini tetikler. Aynı dala, uygulama hatalı kullanılmasa bile, örneğin RFCOMM oturumu BT_RFCOMM_STATE_DISCONNECTING durumundayken veya nesne oluşturma ile RFCOMM çağrısı arasında ACL düştüğünde, yani uzak eş bağlantı zamanlamasını kontrol ettiğinde ulaşılır. Nesne silindikten sonra, Bluetooth ana bilgisayarı onu kullanmaya devam eder: sdp_client_alloc_buf(), artık NULL olan session->param->pool değerini çözümler ve SDP alma yolları, NULL kontrolü yapılmayan bir null fonksiyon işaretçisi üzerinden session->param->func() fonksiyonunu çağırır. Silme işlemi aynı zamanda hf->acl değerini de temizlediği için havuz yuvası boş kabul edilir ve yeniden deneme veya gelen bir HFP bağlantısı, hala bağlı olan aynı liste düğümünü tekrar ekleyerek session->reqs yapısını, ana bilgisayarın liste gezginlerinin asla terk edemediği kendi kendine referans veren bir listeye dönüştürür. Sonuç, Bluetooth ana bilgisayar iş parçacığında bir hata veya kurtarılamayan bir askıda kalma durumudur; hatalı dolaylı çağrı, hedefi saldırgan tarafından kontrol edilemeyen tamamen sıfır olan bir işaretçi üzerinden gerçekleştiğinden, pratik etkisi hizmet reddidir (DoS). Düzeltme, nesnenin tahsis edilmiş olarak kalmasını sağlar ve onu yeni bir BT_HFP_HF_FLAG_RELEASING bayrağı ile işaretler; böylece bt_hfp_hf_discover_cb(), nesneyi SDP istemcisi altında yok etmek yerine keşif tamamlandığında serbest bırakır. Yalnızca CONFIG_BT_CLASSIC ve CONFIG_BT_HFP_HF etkinleştirilmiş derlemeler etkilenmektedir.

ÖnemOrta
CVSS5.3
İstismar olasılığı—
ÜrünZephyr
Yayın26 Eki 2026
İlk görülme26 Eki 2026

Nasıl düzeltilir

Güncelleyin
  • zephyrproject zephyr4.5.0 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
zephyrproject zephyr4.4.0 ≤ v < 4.5.04.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.

Intelligence 360 paketinde

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.

CVE-2026-82388 · Zephyr · Dark Radar