Odebrany

CVE-2026-98734

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_core: Serializuj harmonogramy SCO i ISO z porzuceniem

hci_low_sent() wybiera połączenie pod RCU, ale usuwa blokadę odczytu
przed obliczeniem jego limitu i zwróceniem go planiście. The
połączenie jest następnie używane bez dożywotniej ochrony przez hci_sched_iso()
i hci_sched_sco().

Gdy pracownik TX zrzuci blokadę odczytu RCU, funkcja hci_abort_conn_sync() zostanie włączona
hdev->req_workqueue może usunąć połączenie z skrótu, zakończone
synchronize_rcu(), wyczyść jej kolejki i zwolnij ją. Pracownik TX dalej
hdev->workqueue może następnie uzyskać dostęp do zwolnionego połączenia w funkcji hci_quote_sent()
lub podczas usuwania pakietów z kolejki i aktualizacji conn->sent.

KASAN poinformował:

BŁĄD: KASAN: użycie płyty po zwolnieniu w hci_low_sent+0x730/0x840
Kolejka robocza: hci0 hci_tx_work
Zadzwoń do śledzenia:
hci_low_sent+0x730/0x840
hci_sched_iso+0x25e/0x4d0
hci_tx_work+0x239/0xcb0

Przydzielone przez zadanie 93:
__hci_conn_add+0x16f/0x1b40
hci_bind_bis+0x782/0x17b0
hci_connect_bis+0xa0/0x510
iso_sock_connect+0x589/0x1050

Uwolniony przez zadanie 88:
kfree+0x131/0x3c0
wydanie_urządzenia+0xc8/0x240
kobject_put+0x14d/0x280
hci_conn_del+0x55a/0xe80
hci_disconnect_sync+0x156/0x180
hci_abort_conn_sync+0x3e7/0x940
hci_cmd_sync_work+0x13c/0x290

Przytrzymaj hci_dev_lock() podczas wyboru połączenia i transmisji w obu przypadkach
Planowanie SCO i ISO, serializacja z przerwaniem połączenia. To
zapobiega również umieszczaniu znaczników czasu zakończenia kolejkowania po kolejkach połączeń
zostały oczyszczone. Rozszerzanie RCU na całą transmisję byłoby niebezpieczne
ponieważ ścieżka transmisji może spać. Kontroluj limit czasu ISO na zewnątrz
mutex, ponieważ hci_link_tx_to() bierze go sam.

Poprzednia poprawka kanału zawiera już ten muteks na listach ACL i LE
harmonogramy, które wywołują harmonogram SCO pomiędzy pakietami. Przesuń SCO
body do __hci_sched_sco(), potwierdza, że obiekt wywołujący przechowuje muteks i
użyj go bezpośrednio z tych zamkniętych ścieżek. Zachowaj blokadę hci_sched_sco()
opakowanie dla bezpośrednich wywołań z hci_tx_work(). Pozwala to uniknąć rekurencji
uzyskanie mutexu urządzenia przy zachowaniu kolejności planowania.

Usuń przestarzałe twierdzenie, że usunięcie połączenia wyłącza TX.

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