Odebrany

CVE-2026-98736

opublikowano:
modyfikacja:
Ocena CVSS
n/a
Brak oceny

>_ Opis

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

W jądrze Linuksa usunięto następującą lukę:

Bluetooth: hci_conn: Zablokuj dostęp rodziców podczas rozszerzonej konfiguracji SCO

Bluetooth: hci_conn: Zablokuj dostęp rodziców podczas rozszerzonej konfiguracji SCO

hci_enhanced_setup_sync() działa w kolejce roboczej żądań bez
hci_dev_lock przechowywany przez obiekt wywołujący, gdy instalacja została umieszczona w kolejce. To CVSD
sprawdzenie możliwości i wyłuskanie połączenia find_next_esco_param()->parent
podczas gdy kolejka odbiorcza może odłączyć i zwolnić tego rodzica.

Poniższe przeplatanie może spowodować użycie po zwolnieniu:

hci_enhanced_setup_sync() hci_disconn_complete_evt()
załaduj połączenie->rodzic
hci_dev_lock()
hci_conn_del(nadrzędny ACL)
odłącz dziecko SCO
upuść odnośnik nadrzędny łącza
wyczyść dziecko->rodzic
zwolnij rodzica ACL
bt_link_release()
kfree(rodzic)
hci_dev_unlock()
przeczytaj element nadrzędny->funkcje[0][3]

Odwołanie przechowywane dla umieszczonego w kolejce elementu podrzędnego SCO nie zachowuje jego elementu nadrzędnego listy ACL
żyje po odłączeniu. Zatwierdź 42de40abe25d („Bluetooth: hci_conn: napraw plik
Czas życia kontekstu konfiguracji SCO”) chroni element podrzędny przechowywany w kolejce
kontekście, ale pozostawia te dostępy nadrzędne bez ochrony.

Z opóźnieniem diagnostycznym 40 ms po załadowaniu conn->parent, plik instrumented
jądro oparte na fd179f8a05be, które zawiera już 42de40abe25d,

BŁĄD: KASAN: użycie płyty po zwolnieniu w hci_enhanced_setup_sync+0xda5/0xdf0
Odczytaj rozmiar 1 pod adresem ffff888102204047 przez zadanie kworker/u17:0/93
Zadzwoń do śledzenia:
hci_enhanced_setup_sync+0xda5/0xdf0
hci_cmd_sync_work+0x13c/0x290
proces_one_work+0x6b4/0x10e0

Przydzielone przez zadanie 92:
__hci_conn_add+0x304/0x1df0
hci_connect_acl+0x349/0x3e0
hci_connect_sco+0x3b/0x9a0
sco_sock_connect+0x475/0xca0

Uwolniony przez zadanie 94:
kfree+0x121/0x3c0
bt_link_release+0x79/0xa0
wydanie_urządzenia+0xc8/0x240
kobject_put+0x14d/0x280
hci_conn_del+0x524/0xe30
hci_disconn_complete_evt+0x403/0x8c0
hci_event_packet+0x71b/0xb20
hci_rx_work+0x293/0x730

Adres, do którego uzyskano dostęp, to 71 bajtów w zwolnionym rodzicu ACL, w jego miejscu
cechy[0] [3] bajt; umieszczone w kolejce dziecko SCO jest innym obiektem. The
diagnostyka zachowuje załadowanego rodzica przez całe opóźnienie, dopasowując
niezmodyfikowana kontrola możliwości skompilowanej i nie zmienia elementu nadrzędnego
odniesienia lub ścieżka rozbicia.

Przytrzymaj hci_dev_lock() na przełączniku kodeka, łącznie z każdym wywołaniem
find_next_esco_param() i zwolnij ją w przypadku wszystkich błędów wyboru. Zachowaj
configure_datapath_sync() poza sekcją krytyczną, ponieważ czeka
na wydarzenia HCI. Zachowaj wybór parametrów i istniejące wartości zwracane.

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