CVE-2026-99053
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
W jądrze Linuksa usunięto następującą lukę:
wskazówka: przechowuj odniesienie do węzłów znalezionych według nazwy łącza
tipc_node_find_by_name() zwraca węzeł po usunięciu blokady odczytu RCU
bez przyjmowania referencji. LINK_SET, LINK_GET i LINK_RESET_STATS
moduły obsługi następnie blokują i uzyskują dostęp do węzła, ścigając się z czyszczeniem sterowanym zegarem
rówieśnik z dołu. Ogólna serializacja łącza sieciowego nie wyklucza węzła
minutnik.
Poniższe przeplatanie może pozostawić procedurę obsługi przy użyciu uwolnionego węzła:
CPU 0: znajdź węzeł pod RCU i zwolnij blokadę odczytu węzła
Procesor 1: tipc_node_timeout() czyści łącza i rozłącza węzeł wyłączony
CPU 1: usuń listę i odniesienia do timerów, ustawiając w kolejce tipc_node_free()
CPU 0: opuść sekcję krytyczną po stronie odczytu RCU
Procesor 1: zakończ okres karencji i zwolnij węzeł
CPU 0: uzyskaj blokadę węzła poprzez nieaktualny wskaźnik
LINK_SET korzysta również z adresu multimedialnego węzła po zwolnieniu blokady węzła,
podczas przekazywania kolejkowanych pakietów do tipc_bearer_xmit().
KASAN w wersji 7.3-rc5 zgłosił:
BŁĄD: KASAN: użycie płyty po zwolnieniu w _raw_read_lock_bh
Wpisz rozmiar 4 pod adresem ffff88807e06f008 w zadaniu poc/92
Zadzwoń do śledzenia:
_raw_read_lock_bh kernel/locking/spinlock.c:287
tipc_nl_node_set_link net/tipc/node.c:2475
genl_family_rcv_msg_doit net/netlink/genetlink.c:1114
genl_rcv_msg net/netlink/genetlink.c:1209
netlink_rcv_skb net/netlink/af_netlink.c:2575
Przydzielone według zadania 0:
tipc_node_create net/tipc/node.c:539
tipc_node_check_dest net/tipc/node.c:1196
tipc_disc_rcv net/tipc/discover.c:252
Uwolniony przez zadanie 92:
kwolne mm/slub.c:6801
rcu_core kernel/rcu/tree.c:2919
Ostatni potencjalnie powiązany utwór:
__call_rcu_common.constprop.0 jądro/rcu/tree.c:3181
tipc_node_timeout net/tipc/node.c:814
Uzyskaj wcześniej referencję do wybranego węzła za pomocą kref_get_unless_zero().
opuszczanie RCU i zwracanie NULL, jeśli węzeł został już zwolniony. Zwolnij
to odniesienie przy każdym wyjściu wywołującego po ostatnim dostępie do węzła, w tym
transmisja w LINK_SET. Zachowaj istniejącą kolejność wyszukiwania linków i blokowanie
więc jednoczesne usuwanie linków nadal wykorzystuje istniejące ścieżki błędów.
>_ Referencje
- https://git.kernel.org/stable/c/1428c5f1d346a2e1ac9156713975a72246957009
- https://git.kernel.org/stable/c/17e73bae400f6a434dc006e3bee92c94cf781954
- https://git.kernel.org/stable/c/3c3b308ee6e25729a6cf09b69cdd0e093220d40b
- https://git.kernel.org/stable/c/b60259d4047fbb735476c729dcf9306a038b6110
- https://git.kernel.org/stable/c/f17e70206a1e763fcca2578a8db3c4eed0f843a9
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