Katalog CVE

CVE-2026-10641

WysokieCVSS 7.1
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.28%

Percentyl 20 - wyżej niż 20% wszystkich znanych CVE

Streszczenie

W sterowniku Bluetooth Classic Hands-Free Profile (HFP) w Zephyr OS wykryto podatność polegającą na zapisie poza dozwolonym zakresem pamięci. Funkcja cind_handle_values() nie sprawdza, czy indeks tablicy ind_table[] (20 elementów) nie przekracza jej rozmiaru, co pozwala zdalnemu atakującemu (złośliwemu urządzeniu AG) na zapisanie kontrolowanej wartości poza tablicą, powodując uszkodzenie pamięci i potencjalnie odmowę usługi stosu Bluetooth.

Ocena ryzyka

Atakujący może zdalnie, bez interakcji użytkownika, doprowadzić do awarii stosu Bluetooth, co skutkuje przerwaniem działania usług komunikacyjnych i potencjalnie całego systemu. Podatność może być wykorzystana do eskalacji uprawnień lub destabilizacji urządzenia.

Rekomendacja

Należy natychmiast zaktualizować Zephyr OS do wersji zawierającej poprawkę (commit dodający sprawdzenie indeksu). Jeśli aktualizacja nie jest możliwa, wyłącz funkcję CONFIG_BT_HFP_HF w konfiguracji systemu.

Inne podatności w Zephyr

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

Zephyr's Bluetooth Classic Hands-Free Profile (HFP) Hands-Free role parser (subsys/bluetooth/host/classic/hfp_hf.c) contains an out-of-bounds write. During Service Level Connection setup the HF sends AT+CIND=? and parses the AG's +CIND: response in cind_handle(), which assigns a per-entry counter index and calls cind_handle_values() for each list element. cind_handle_values() then wrote hf->ind_table[index] = i without verifying that index is within the 20-element int8_t ind_table[] array of struct bt_hfp_hf. Because the parser places no cap on the number of +CIND: list entries, a remote Attendant Gateway (a malicious, compromised, or spoofed peer the device connects to over Bluetooth) can send a response with more than 20 recognized indicator entries and drive index arbitrarily large, writing a small attacker-positioned value past the array into adjacent struct fields (feature masks, SDP/version state, the calls[] array, work/atomic bookkeeping) and potentially beyond the static connection pool slot. This yields memory corruption and at least denial of service of the Bluetooth host, triggered by a single malformed AT response with no user interaction. The sibling consumer ag_indicator_handle_values() already performed the equivalent bounds check; this commit adds the same index >= ARRAY_SIZE(hf->ind_table) guard to close the gap. Affects builds with CONFIG_BT_HFP_HF enabled; introduced with the original HFP HF CIND parser (~v1.7) and present through v4.4.0.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS