CVE-2026-82389
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
W roli Bluetooth Classic Hands-Free Profile Audio Gateway hfp_ag_create() w subsys/bluetooth/host/classic/hfp_ag.c rozpoczyna wykrywanie SDP w kierunku partnera, które łączy osadzony ag->sdp_param._node z listą oczekujących żądań klienta SDP w subsys/bluetooth/host/classic/sdp.c. Jeśli kolejne wywołanie bt_rfcomm_dlc_connect() nie powiedzie się, bt_hfp_ag_connect() wyczyści cały obiekt AG za pomocą memset(), gdy węzeł ten będzie nadal połączony i podczas gdy ag->slc_work może nadal znajdować się w kolejce systemowej kolejki roboczej. Wykrywania SDP w locie nie można anulować — bt_sdp_discover_cancel() jest zadeklarowana w nagłówku publicznym, ale nie ma implementacji — więc żądanie pozostaje na liście z wyzerowanymi wskaźnikami func,pool i uuid.
Kanał RFCOMM przekazany do bt_hfp_ag_connect() jest pobierany z własnego rekordu usługi głośnomówiącej SDP partnera w normalnym przepływie AG (bt_sdp_get_proto_param() nie sprawdza zasięgu, a próbki/bluetooth/classic/handsfree_ag podaje wartość bezpośrednio), więc zdalne urządzenie BR/EDR w zasięgu radiowym, które anonsuje kanał RFCOMM poza prawidłowym zakresem 0x01..0x1e deterministycznie wymusza niepowodzenie bt_rfcomm_dlc_connect() i osiągnięcie czyszczenia. Odczyt rekordu SDP partnera nie wymaga parowania, a partner może również wywołać awarię, usuwając listę ACL lub ścigając się z DLC RFCOMM na tym samym DLCI w odpowiednim momencie.
Kiedy klient SDP następnie przesuwa swoją listę żądań, sdp_client_discover() usuwa referencje zerowanych parametrów — net_buf_alloc(param->pool, …) z pulą NULL i param->uuid->type — a ścieżki powiadamiania o wynikach wywołują parametry NULL->func. Zerowanie połączonego węzła obcina również listę żądań za nieaktualnym wskaźnikiem końcowym, a ponowne uzbrojenie zwolnionego gniazda AG powoduje ponowne dołączenie tego samego węzła i może wygenerować samozapętloną listę, która zawiesza wątek Bluetooth RX. Skutkiem jest awaria lub zawieszenie stosu Bluetooth; zapisana wartość to stałe zero pod stałym adresem statycznym, więc nie jest dostępny zapis kontrolowany przez osobę atakującą.
Dotyczy to tylko kompilacji z CONFIG_BT_CLASSIC i CONFIG_BT_HFP_AG, które korzystają z roli bramy audio.
>_ Słabości (CWE)
>_ Referencje
Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.
This product uses the NVD API but is not endorsed or certified by the NVD.
Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.
CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.
NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org