CVE-2026-19570
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
LE Audio Broadcast Sink w subsys/bluetooth/audio/bap_broadcast_sink.c kopiuje metadane podgrupy z odebranego podstawowego ogłoszenia audio (BASE) do statycznej struktury parametrów usługi Broadcast Audio Scan Service mod_src_param bez żadnej kontroli granic. W base_subgroup_meta_cb() element docelowy został wybrany jako mod_src_param.subgroups[mod_src_param.num_subgroups] bez testu względem ARRAY_SIZE(mod_src_param.subgroups) (o rozmiarze CONFIG_BT_BAP_BASS_MAX_SUBGROUPS, domyślnie 1), a metadane zostały skopiowane za pomocą memcpy() przy użyciu surowej długości nadawanego sygnału zwróconej przez bt_bap_base_get_subgroup_codec_meta() do tablicy metadanych o rozmiarze CONFIG_BT_AUDIO_CODEC_CFG_MAX_METADATA_SIZE (domyślnie 4). Walidator BASE bt_bap_base_get_base_from_ad() sprawdza tylko spójność strukturalną i dopuszcza do ~24 podgrup i wartości LTV metadanych wynoszące ~240 oktetów.
Wada występuje w wyniku okresowego wywołania zwrotnego odbierania reklam: pa_recv() → bt_data_parse() → pa_decode_base() → update_recv_state_base() → bt_bap_base_foreach_subgroup() → base_subgroup_meta_cb(). Każdy ujście rozgłoszeniowe rejestruje stan odbioru modułu delegującego skanowanie podczas tworzenia (bt_bap_broadcast_sink_create() wywołuje funkcję Broadcast_sink_add_src()), a CONFIG_BT_BAP_BROADCAST_SINK zależy od CONFIG_BT_BAP_SCAN_DELEGATOR, więc ścieżka jest aktywna w każdej kompilacji ujścia rozgłoszeniowego, gdy urządzenie jest okresowo synchronizowane z reklamami. Osoba atakująca w zasięgu radiowym, która obsługuje źródło transmisji, z którym urządzenie jest synchronizowane, lub która podszywa się pod adres reklamodawcy i identyfikator SID już używanego, przy okresowym braku uwierzytelnienia danych reklamowych, może dowolnie zmienić BASE; każda nowa BAZA jest ponownie analizowana.
Dlatego też spreparowana BASE zapisuje wybrane przez atakującego bajty poza końcem stałego obiektu statycznego w pliku .bss: do około 236 bajtów w przypadku zbyt dużego LTV metadanych plus całe rekordy bt_bap_bass_subgroup struktury dla każdej podgrupy poza CONFIG_BT_BAP_BASS_MAX_SUBGROUPS. Jest to uszkodzenie pamięci sąsiedniego stanu audio Bluetooth osiągalnego bez parowania, łączenia lub połączenia GATT, z możliwością zdalnego wykonania kodu w wątku Bluetooth RX; ponadto niezweryfikowany metadata_len jest przekazywany do bt_bap_scan_delegator_mod_src(), która go nie blokuje ani nie odrzuca, co prowadzi do dalszej kopii do stanu odbioru i ujawnienia pamięci poza granicami w powiadomieniu o stanie odbioru BASS wysłanym do podłączonego Asystenta Broadcast.
Poprawka odrzuca BASE przenoszącą więcej podgrup, niż może pomieścić stan odbioru (całkowicie odrzucając aktualizację) i pomija metadane, które nie pasują, zamiast je kopiować, a dodatkowo honoruje wcześniej ignorowany powrót błędu przejścia dekodowania podgrupy.
>_ 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