CVE-2026-77684
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
Rola Bluetooth Classic Hands-Free Profile HF w subsys/bluetooth/Host/classic/hfp_hf.c nie zwalnia buforów poleceń AT, które nadal znajdują się w kolejce na hf->tx_pending, gdy DLC RFCOMM ulegnie awarii. hfp_hf_disconnected() jedynie anulowała elementy robocze i wyczyściła hf->acl, a żadna inna ścieżka kodu nie usuwa tych buforów z kolejki, więc każdy z nich zostaje trwale utracony ze stałej puli hf_pool (CONFIG_BT_MAX_CONN + 1 bufory, tj. dwa w konfiguracji domyślnej). Ta sama funkcja pozostawiła również ustawioną opcję BT_HFP_HF_FLAG_CONNECTED, a funkcja hfp_hf_create() wyczyściła obiekt za pomocą memset(), gdy tylko funkcja hf->acl miała wartość NULL, bez sprawdzania, czy funkcja hf->work, hf->slc_work lub hf->deferred_work nadal oczekuje na wykonanie lub jest uruchomiona.
Zdalny element równorzędny bramki audio kontroluje wyzwalacz od końca do końca i nie wymaga zaangażowania aplikacji: niechciana odpowiedź +BCS: 1 powoduje, że bcs_handle() wywołuje bt_hfp_hf_select_codec() i umieszcza w kolejce bufor AT+BCS, którego nie można przesłać, gdy ustawiono BT_HFP_HF_FLAG_RX_ONGOING, a bezpośrednio po nim następuje RFCOMM DISC pasma tego bufora. Kilkukrotne powtórzenie cyklu łączenia / +BCS / rozłączania powoduje trwałe opróżnienie hf_pool.
Po wyczerpaniu puli wysyłanie poleceń HFP trwale kończy się niepowodzeniem, a ponieważ hfp_hf_send_cmd() przydziela za pomocą K_FOREVER (bt_rfcomm_create_pdu() → bt_conn_create_pdu()) z kontekstu Bluetooth RX — jeśli limit czasu nie jest obniżony do K_NO_WAIT — jeszcze jeden +BCS od partnera parkuje wątek Bluetooth RX w środku net_buf_alloc() bez możliwości wybudzenia, wstrzymując przetwarzanie wszystkich zdarzeń HCI do czasu ponownego uruchomienia urządzenia. Oddzielnie, ponowne użycie szczeliny HF, gdy procedura obsługi pracy wciąż znajdowała się w kolejce lub była uruchomiona, umożliwiło memset() wymazanie aktywnych elementów k_work spod systemowej kolejki roboczej, uszkadzając stan kolejki roboczej współdzielonego jądra. Eksploatacja wymaga ustanowionej sesji HFP (w przypadku urządzeń SSP L2CAP wymusza uwierzytelnianie, zanim kanał RFCOMM stanie się osiągalny) i kompilacji z włączoną funkcją CONFIG_BT_HFP_HF.
>_ 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