Wysoki Odebrany

CVE-2026-15894

opublikowano:
modyfikacja:
Ocena CVSS
8.8
Wysoki · v3.1
wektor: CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

>_ Opis

Tłumaczenie automatyczne – może zawierać nieścisłości.

Procedura obsługi żądania prywatnego serwera proxy na żądanie Bluetooth Mesh w subsys/bluetooth/mesh/solicitation.c kopiuje odebraną jednostkę PDU Solicitation do stałego 17-bajtowego bufora stosu bez ograniczania długości źródła. W sol_pdu_decrypt() out jest przydzielane jako NET_BUF_SIMPLE(17), a następnie wypełniane net_buf_simple_add_mem(out, in->data, in->len); net_buf_simple_add() chroni swój ogon tylko za pomocą __ASSERT_NO_MSG, który jest kompilowany w kompilacjach produkcyjnych, więc gdy in->len > 17 bazowy memcpy zapisuje bajty kontrolowane przez atakującego poza 17-bajtowy bufor stosu. Kopia następuje przed jakimkolwiek odszyfrowaniem lub uwierzytelnieniem, więc do jej uruchomienia nie jest wymagany żaden klucz.

Nadmierna długość wynika z tego, że wywołanie zwrotne skanowania siatki w subsys/bluetooth/mesh/adv.c wywołuje funkcję net_buf_simple_restore() przed wysłaniem do bt_mesh_sol_recv(), pozostawiając buf->len obejmujący cały pozostały ładunek reklam, a nie tylko dane usługi pozyskiwania klientów. Po tym jak parser zlokalizuje usługę Data AD i zużyje bajt typu identyfikacji, pozostały buf->len to 17-oktetowa jednostka PDU sieci plus wszelkie końcowe bajty reklamowe, a przed tą poprawką nie było sprawdzania maksymalnej długości (tylko minimum). Osoba atakująca może zatem dodać dodatkowe struktury AD lub uzupełnienie po danych usługi pozyskiwania klientów, aby wartość buf->len przekroczyła 17.

bt_mesh_scan_cb() jest rejestrowana bezpośrednio jako wywołanie zwrotne skanowania BLE, więc buf to surowe, nieuwierzytelnione dane reklamowe odbierane drogą radiową. Każde urządzenie w zasięgu radiowym może wysłać ogłoszenie, którego nie można podłączyć, niosące spreparowane żądanie proxy siatki do węzła, który ma włączoną opcję CONFIG_BT_MESH_OD_PRIV_PROXY_SRV i obecnie kwalifikuje się do żądania (wyłączony serwer proxy GATT, włączony prywatny serwer proxy na żądanie) bez parowania, łączenia ani udostępniania. Rezultatem jest kontrolowane przez osobę atakującą nadpisanie stosu, co prawdopodobnie prowadzi do zdalnego wykonania kodu i co najmniej niezawodnej zdalnej odmowy usługi. Poprawka przycina buf->len do określonych w specyfikacji 17 oktetów (usuwając PDU, jeśli pozostało ich mniej) przed deszyfrowaniem.

>_ 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