CVE-2026-85034
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
Klient GATT hosta Bluetooth przekazał wartość odebranego powiadomienia o wartości uchwytu, wskazania wartości uchwytu lub powiadomienia o wielokrotnej wartości uchwytu do wywołań zwrotnych bt_gatt_subscribe_params::notify, używając wyłącznie długości pochodzącej z odebranej jednostki ATT PDU. bt_att_recv() w subsys/bluetooth/host/att.c sprawdza tylko minimalną długość PDU i nie wymusza wynegocjowanego MTU ATT, a stały kanał ATT L2CAP w subsys/bluetooth/host/l2cap.c również nie stosuje kontroli rx.mtu, więc jedynym pułapem był bufor ponownego montażu ACL CONFIG_BT_BUF_ACL_RX_SIZE. Wartości dłuższe niż maksymalna długość atrybutu wynosząca 512 oktetów zdefiniowana w specyfikacji rdzenia Bluetooth (tom 3, część F, sekcja 3.2.9) mogą zatem być przekazywane abonentom, którzy dopasowują swoje bufory do udokumentowanego limitu.
Zdalny partner, z którym urządzenie się połączyło i subskrybowało – złośliwy, sfałszowany lub przejęty serwer GATT w zasięgu radiowym – wyzwala lukę, wysyłając powiadomienie lub wskazanie, którego wartość przekracza 512 oktetów na subskrybowanym uchwycie. W kliencie LE Audio unicast osiąga to konkretny zapis poza granicami: unicast_client_ep_notify() w subsys/bluetooth/audio/bap_unicast_client.c kopiuje powiadomienie do 512-bajtowego att_buf struktury unicast_client za pomocą net_buf_simple_add_mem() i bez sprawdzania Tailroom, gdy długość jest równa bt_audio_get_max_ntf_size(), tj. wynegocjowany MTU ATT minus trzy. notify_handler() w subsys/bluetooth/audio/bap_broadcast_assistant.c ma ten sam kształt. Osiągnięcie przepełnienia wymaga kompilacji, której MTU ATT przekracza 515 oktetów (CONFIG_BT_L2CAP_TX_MTU i CONFIG_BT_BUF_ACL_RX_SIZE ustawione na obsługę atrybutów pełnej długości); dostarczone wartości domyślne są znacznie mniejsze.
Przepełnienie zapisuje bajty kontrolowane przez peery poza att_buf bezpośrednio nad sąsiednią strukturą net_buf_simple net_buf — jej polami danych, __buf, len i size — których późniejsza akumulacja o długim odczycie wykorzystuje następnie jako miejsce docelowe, zamieniając małe liniowe przepełnienie w kontrolowany zapis. net_buf_simple_add() sprawdza tylko w przypadku niewystarczającej ilości miejsca na końcu, chyba że włączona jest CONFIG_NET_BUF_HARDENING, a ta opcja jest domyślnie wyłączona, więc zwykłe kompilacje produkcyjne wykonują kopię. Poza klientami LE Audio znajdującymi się w drzewie, każdy abonent aplikacji, który dostosował swój bufor odbiorczy do limitu 512 oktetów określonego w specyfikacji, był narażony na to samo przepełnienie.
Poprawka odrzuca wartości powiadomień, wskazań i wielokrotnych powiadomień dłuższe niż BT_ATT_MAX_ATTRIBUTE_LEN w call_notify_cb_and_maybe_unsubscribe() w subsys/bluetooth/host/gatt.c przed wywołaniem jakiegokolwiek wywołania zwrotnego abonenta, więc żaden abonent nie może zostać przekazany więcej niż określone maksimum. Pozostałe krotki powiadomienia o wartościach wielu uchwytów są nadal dostarczane, a wskazania o zbyt dużych rozmiarach są nadal potwierdzane.
>_ 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