CVE-2026-99012
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
W jądrze Linuksa usunięto następującą lukę:
Bluetooth: ISO: Serializuj równoczesne połączenia
iso_sock_connect() sprawdza stan gniazda przed zablokowaniem gniazda
i ponownie zrzuca blokadę przed ustanowieniem połączenia. Dwóch rozmówców może
oba przechodzą kontrolę wstępu, gdy nasadka jest otwarta lub zawiązana.
Osoba dzwoniąca A może skopiować miejsce docelowe w celu wybrania trasy, a osoba dzwoniąca B może to zrobić
zastąp miejsce docelowe gniazda, zanim A powiąże lub połączy CIS. A
następnie korzysta z miejsca docelowego B z trasą wybraną na własne żądanie.
B może również kontynuować po tym, jak A podłączy połączenie i ustawi BT_CONNECT.
W przypadku odroczonej konfiguracji BIS, B może powiązać drugi BIS i nadpisać
iso_pi(sk)->conn, pozostawiając odniesienie do pierwszego połączenia i conn->sk
wskaźnik wsteczny osierocony. Równoczesne połączenia CIS mogą również zastąpić
połączenie gniazda. Późniejsze rozłączenie powoduje jedynie rozłączenie bieżącego połączenia,
więc wywołanie zwrotne na starym połączeniu może ścigać się ze zwolnieniem gniazda i
uzyskać dostęp do wolnego gniazda.
KASAN poinformował:
BŁĄD: KASAN: użycie płyty po zwolnieniu w iso_sock_hold+0xf7/0x1b0
Zadzwoń do śledzenia:
iso_sock_hold+0xf7/0x1b0
iso_conn_del+0x7b/0x1d0
iso_connect_cfm+0x186/0x16a0
hci_conn_failed+0x154/0x280
hci_abort_conn_sync+0x3dc/0x7d0
hci_cmd_sync_work+0x173/0x300
Przydzielone przez zadanie 121:
sk_alloc+0x2b/0x6d0
bt_sock_alloc+0x29/0x370
iso_sock_alloc.constprop.0+0x19/0x300
iso_sock_create+0x94/0x100
Uwolniony przez zadanie 121:
kfree+0x121/0x3c0
__sk_destruct+0x42b/0x540
iso_sock_release+0x29d/0x340
__sock_release+0xa1/0x260
Sprawdź wejście pod blokadą gniazda i zaznacz operację podłączenia
postępu przed opublikowaniem miejsca docelowego. Trzymaj tę flagę w poprzek
wyszukiwanie trasy i konfiguracja połączenia, odrzucając kolejne połączenie
-EBADFD, zanim będzie mógł zmienić miejsce docelowe lub dołączyć połączenie.
Usuń flagę po powrocie któregokolwiek z pomocników, także w przypadku niepowodzenia, więc a
można ponowić nieudaną konfigurację.
Potrzebna jest osobna flaga, ponieważ wcześniej należy zwolnić blokadę gniazda
uzyskanie blokady urządzenia HCI, podczas gdy BT_CONNECT wymaga załączenia
połączenie. Zachowaj istniejące zmiany stanu i odroczony CIS
zakończenie poprzez iso_sock_recvmsg().
Przed pobraniem odrzuć istniejące załączniki do gniazd w __iso_chan_add().
nowe odniesienie lub opublikowanie dowolnego wskaźnika, aby każdy wywołujący zachował
skojarzenie połączenia. Zachowaj to samo gniazdo i sukces tego samego połączenia
przypadek odroczenia konfiguracji CIS. Odrzuć podłączone gniazdo przed konfiguracją systemu BIS
dlatego nie można zgłaszać roszczeń dotyczących BIS wielokrotnego użytku przed odrzuceniem załącznika.
W konfiguracji CIS odrzuć inne połączenie HCI przed iso_conn_add()
i bezpośrednio porzuć wstrzymanie HCI przy każdej próbie. Nieposiadany iso_conn może nadal
nosić inne odniesienie po oderwaniu, więc jego zniszczenie nie może nastąpić
polegał na uwolnieniu tego uścisku.
iso_listen_bis() tworzy nową parę PA HCI/ISO pod blokadą urządzenia,
więc tymczasowa funkcja iso_conn_put() zwalnia kandydata ISO i upuszcza go
HCI wstrzymuje się z odrzuceniem. iso_conn_ready() używa świeżo przydzielonego,
niepublikowane dziecko bez połączenia, co powoduje odrzucenie po stronie gniazda
nieosiągalny.
>_ Referencje
- https://git.kernel.org/stable/c/1adcfe232c0f58890c2538211a841100ad0512bd
- https://git.kernel.org/stable/c/3728f6b0d5990c0d500e929ba10baf93bee24f5e
- https://git.kernel.org/stable/c/9b6ed57eb8c892ee7566b8c1bd06fdd0053b53de
- https://git.kernel.org/stable/c/c6489a3a0ac8c07f64cb5b44f005bc518f1048ac
- https://git.kernel.org/stable/c/e32d80293a0e1a160d5e5101daa8c82148c07510
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