Odebrany

CVE-2026-93250

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ę:

vxlan: mdb: Napraw użycie po zwolnieniu w vxlan_mdb_flush()

vxlan_mdb_flush() iteruje po wpisach MDB za pomocą
hlist_for_each_entry_safe(), która toleruje jedynie usunięcie
aktualny wpis. W przeciwieństwie do komentarza powyżej pętli, usunięcie an
wpis może spowodować usunięcie innego wpisu.

Opróżnianie pilotów wpisu (*, G) powoduje również usunięcie wpisów (S, G).
które zostały utworzone dla listy źródłowej, gdy zostaną pozostawione bez nich
piloty:

vxlan_mdb_remotes_flush()
-> vxlan_mdb_remote_del()
-> vxlan_mdb_remote_srcs_del()
-> vxlan_mdb_remote_src_del()
-> vxlan_mdb_remote_src_fwd_del()
-> __vxlan_mdb_del()
-> vxlan_mdb_entry_put()

Wpis taki może znajdować się po wpisie (*, G) na liście, np
vxlan_mdb_entry_get() zwraca istniejący wpis bez przenoszenia go do
szef listy. Porządek ten uzyskuje się poprzez dodanie wpisu (S, G).
przed wpisem (*, G), ten ostatni z dodatkiem NLM_F_REPLACE
źródła, w przeciwnym razie zakończy się niepowodzeniem z opcją -EEXIST. Wpis (S, G) to wtedy
wpis zapisany przez hlist_for_each_entry_safe() i jest zwalniany podczas
(*, G) wpis jest przetwarzany. Następna iteracja wywołuje na nim funkcję hlist_del().
ponownie, zapisując LIST_POISON1 do LIST_POISON2 [1].

Oprócz usuwania urządzeń, opróżnianie jest również dostępne z RTM_DELMDB
z NLM_F_BULK.

Napraw, czytając ponownie następny wpis po przepłukaniu pilotów. The
bieżący wpis nie może zostać usunięty przez to opróżnienie, ponieważ mogą to zrobić tylko listy źródłowe
można skonfigurować na wpisach (*, G), a wpisy usunięte to (S, G)
wpisy. Dlatego jest nadal powiązany, a jego następny wskaźnik odzwierciedla
przeprowadzki.

[1]
BŁĄD: KASAN: dostęp do pamięci dzikiej w vxlan_mdb_entry_put.part.0+0x328/0x588
Zapisz rozmiar 8 pod adresem dead000000000122 w zadaniu ip/327

Procesor: 3 UID: 1000 PID: 327 Comm: ip Nieskażony 7.2.0-rc7 #2 PREEMPT
Śledzenie połączeń:
vxlan_mdb_entry_put.part.0+0x328/0x588
vxlan_mdb_flush+0x1d8/0x25c
vxlan_mdb_fini+0x8c/0x100
vxlan_uninit+0x1c/0x7c
wyrejestruj_netdevice_many_notify+0x954/0xd4c
rtnl_dellink+0x210/0x530
rtnetlink_rcv_msg+0x434/0x4d0
netlink_rcv_skb+0xc4/0x204
rtnetlink_rcv+0x18/0x24
netlink_unicast+0x4b8/0x548
netlink_sendmsg+0x29c/0x560
____sys_sendmsg+0x390/0x3ec
___sys_sendmsg+0x114/0x188
__sys_sendmsg+0xf0/0x178
__arm64_sys_sendmsg+0x48/0x60
invoke_syscall.constprop.0+0x58/0x180
el0_svc_common.constprop.0+0x74/0x140
do_el0_svc+0x30/0x40
el0_svc+0x38/0x98
el0t_64_sync_handler+0xa0/0xe4
el0t_64_sync+0x198/0x19c

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