CVE-2026-79982
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
Klasa transportowa Bluetooth HCI USB nowego stosu urządzeń USB, subsys/usb/device_next/class/bt_hci.c, kopiuje każdy pakiet HCI przesyłany ze sterownika do hosta do bufora transferu USB przed umieszczeniem go w kolejce w punkcie końcowym. Funkcja bt_hci_tx_sync_in() przydzieliła ten bufor z bt_hci_ep_pool, stałej puli, której gniazda zawierają tylko bajty USBD_MAX_BULK_MPS (64 w kompilacjach obsługujących tylko pełną prędkość), a następnie wykonała polecenie net_buf_add_mem(buf, bt_buf->data, bt_buf->len) bez sprawdzania długości. Bufory zdarzeń HCI i ACL mają rozmiar CONFIG_BT_BUF_EVT_RX_SIZE i CONFIG_BT_BUF_ACL_RX_SIZE i mogą być znacznie większe, więc kopia przebiega poza końcem 64-bajtowego gniazda do sąsiednich gniazd i do wszystkiego, co następuje po statycznie przydzielonej puli.
Urządzenie uruchamia lokalny kontroler Bluetooth w trybie surowego HCI (CONFIG_BT_HCI_RAW), więc ponadgabarytowe pakiety pochodzą drogą bezprzewodową. Dzięki rozmiarom buforów HCI zalecanym dla kontrolerów z pełną funkcjonalnością nieuwierzytelniony atakujący w zasięgu Bluetooth może dostarczyć przepełnione bajty: podłączony uczestnik, który negocjuje rozszerzenie długości danych, może wysłać fragmenty listy ACL o wielkości do CONFIG_BT_CTLR_DATA_LENGTH_MAX bajtów, a osoba atakująca, która jedynie emituje rozszerzone dane reklamowe, dociera tą samą ścieżką poprzez zdarzenia LE Extended Advertising Report, które kontroler fragmentuje tylko do celu CONFIG_BT_BUF_EVT_RX_SIZE. W standardowej konfiguracji przepełnienie zostało już osiągnięte bez ruchu radiowego: obowiązkowe zdarzenie zakończenia polecenia Read Supported Commands ma 70 bajtów i przekracza 64-bajtową szczelinę o sześć bajtów przy każdej inicjalizacji hosta.
Ponieważ funkcja net_buf_add_mem() sprawdza Tailroom tylko poprzez asercję, chyba że włączona jest funkcja CONFIG_NET_BUF_HARDENING, kompilacje z CONFIG_ASSERT=n — zwykłym ustawieniem produkcyjnym — po cichu uszkadzają pamięć sąsiadującą z pulą buforów USB z zawartością wybraną przez atakującego, co w przypadku obiektu docelowego bez ochrony pamięci między podsystemami może prowadzić do wykonania dowolnego kodu. Kompilacje z włączonymi asercjami zamiast tego kończą się niepowodzeniem asercji i paniką, powodując zdalnie wyzwalaną odmowę usługi. Poprawka wprowadza oddzielną pulę bt_hci_tx_pool o rozmiarze MAX(BT_BUF_ACL_RX_SIZE, BT_BUF_EVT_RX_SIZE) dla kierunku kontroler-host, pozostawiając pulę host-urządzenie w rozmiarze pakietu punktu końcowego, który został już sprawdzony podczas ponownego montażu.
>_ 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