Średni Oczekuje na analizę

CVE-2026-85036

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

>_ Opis

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

Warstwa Bluetooth Classic AVDTP opóźnia zwolnienie punktów końcowych strumienia sesji: bt_avdtp_l2cap_disconnected() w subsys/bluetooth/host/classic/avdtp.c kończy się k_work_submit(&session->_release_work), umieszczając osadzoną strukturę k_work na systemowej liście oczekujących kolejki roboczej. Kiedy ten sam obiekt struct bt_avdtp jest natychmiast ponownie używany w nowym połączeniu sygnalizacyjnym, pamięć sesji jest ponownie inicjowana — a2dp_get_connection() w subsys/bluetooth/host/classic/a2dp.c memset()s cała struktura bt_a2dp i bt_avdtp_l2cap_accept() / bt_avdtp_connect() wywołuje k_work_init() w sesji->_release_work — podczas gdy ten element pracy jest nadal połączony z k_sys_work_q.pending. Zerowanie połączonego sys_snode_t obcina listę, podczas gdy jej wskaźnik końcowy wskazuje poza obcięcie.

Okno ponownego użycia ma charakter deterministyczny, a nie wyścigowy. Całe przetwarzanie RX hosta odbywa się w kolejce roboczej Bluetooth RX z priorytetem kooperacyjnym (CONFIG_BT_RX_PRIO), podczas gdy _release_work jest przesyłane do systemowej kolejki roboczej o niższym priorytecie, więc procedura obsługi wydania nie może zostać uruchomiona, dopóki wątek RX nie zostanie zablokowany. Ponieważ funkcja l2cap_br_recv() przetwarza każde polecenie sygnalizacyjne zawarte w pojedynczej sygnalizacyjnej jednostce PDU L2CAP, uczestnik może wysłać jedną jednostkę PDU zawierającą żądanie rozłączenia L2CAP dla kanału sygnalizacyjnego AVDTP, po którym następuje żądanie połączenia dla PSM 0x0019; drugie polecenie dociera do ścieżki ponownego wykorzystania sesji, a prace nad wydaniem prawdopodobnie nadal znajdują się w kolejce. Uczestnik musi już posiadać zaszyfrowany kanał sygnalizacyjny AVDTP, tj. być sparowanym/połączonym urządzeniem BR/EDR.

Rezultatem jest uszkodzenie listy oczekujących kolejek roboczych systemu globalnego: albo kolejka po cichu przestaje w ogóle wykonywać jakąkolwiek pracę (kolejne przesłania są dołączane do łańcucha, do którego głowa nie może już dotrzeć, a osierocone elementy zachowują na zawsze swoją flagę K_WORK_QUEUED) lub, w wariancie końcowym, lista uzyskuje węzeł samoodwołujący się, na którym obraca się wątek kolejki. Zapisane wartości są wskaźnikami do innych obiektów struct k_work i nie są kontrolowane przez osobę atakującą, więc skutkiem jest odmowa usługi obejmująca całe urządzenie i wymagająca ponownego uruchomienia, a nie kontrolowany prymityw zapisu. Dotyczy to tylko kompilacji z CONFIG_BT_CLASSIC i CONFIG_BT_A2DP.

Poprawka składa się z dwóch zatwierdzeń i żadne z zatwierdzeń nie zamyka ścieżki samodzielnie. ec822ceed83b dodaje kontrolę oczekującego wydania do bt_avdtp_connect() i bt_avdtp_l2cap_accept(), ale funkcja a2dp_get_connection() memset() górnej warstwy A2DP sprawdza sesję — łącznie z węzłem listy i flagami oczekującego elementu roboczego w kolejce — przed uruchomieniem tych kontroli, więc k_work_busy_get() zaobserwuje już wyczyszczoną stan. 2bd5ea88c69b zamyka to, sprawiając, że sama a2dp_get_connection() pomija ponowne użycie i zwraca NULL, gdy prace nad wydaniem są nadal w toku, co oba obiekty wywołujące już obsługują, odrzucając próbę połączenia. Zastosuj oba zatwierdzenia razem; każdy z nich sam naraża urządzenie na niebezpieczeństwo.

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