CVE-2026-93250
Açıklama
Linux kernel'de aşağıdaki güvenlik açığı giderilmiştir: vxlan: mdb: vxlan_mdb_flush() fonksiyonundaki serbest bırakıldıktan sonra kullanım (use-after-free) hatası düzeltildi vxlan_mdb_flush(), MDB girişleri üzerinde yalnızca mevcut girişin kaldırılmasına izin veren hlist_for_each_entry_safe() kullanarak yineleme yapar. Döngünün üzerindeki yorumun aksine, bir girişin kaldırılması başka bir girişin kaldırılmasını tetikleyebilir. Bir (*, G) girişinin uzak noktalarının temizlenmesi, kaynak listesi için oluşturulan (S, G) girişlerini de artık uzak noktaları kalmadığında kaldırır: 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() vxlan_mdb_entry_get() mevcut bir girişi listenin başına taşımadan döndürdüğü için böyle bir giriş listede (*, G) girişinden sonra yer alabilir. Bu sıralama, kaynağın eklenmesi aksi takdirde -EEXIST ile başarısız olacağı için, önce (S, G) girişinin ardından ikincisinin NLM_F_REPLACE ile eklenmesiyle elde edilir. Bu durumda (S, G) girişi, hlist_for_each_entry_safe() tarafından kaydedilen giriş olur ve (*, G) girişi işlenirken serbest bırakılır. Bir sonraki yineleme, bu giriş üzerinde tekrar hlist_del() çağırarak LIST_POISON1 değerini LIST_POISON2 üzerine yazar [1]. Cihaz silmenin yanı sıra, temizleme işlemi NLM_F_BULK ile RTM_DELMDB üzerinden de erişilebilirdir. Uzak noktalar temizlendikten sonra bir sonraki giriş yeniden okunarak sorun giderilmiştir. Kaynak listeleri yalnızca (*, G) girişlerinde yapılandırılabildiği ve kaldırılan girişler (S, G) girişleri olduğu için, mevcut giriş bu temizleme işlemiyle kaldırılamaz. Bu nedenle hala bağlıdır ve sonraki işaretçisi yapılan kaldırmaları yansıtır. [1] BUG: KASAN: wild-memory-access in vxlan_mdb_entry_put.part.0+0x328/0x588 Write of size 8 at addr dead000000000122 by task ip/327 CPU: 3 UID: 1000 PID: 327 Comm: ip Not tainted 7.2.0-rc7 #2 PREEMPT Call trace: vxlan_mdb_entry_put.part.0+0x328/0x588 vxlan_mdb_flush+0x1d8/0x25c vxlan_mdb_fini+0x8c/0x100 vxlan_uninit+0x1c/0x7c unregister_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
Nasıl düzeltilir
- Linux Linuxf8a9b988e7a7bc674e74e8c901794d792c35689e, c7dc26d06f90ca11bbd6114f6a62a67d038816c7, 3e6b705bc162fc7257645725a7d2cf6c71250318, f26400b325bdc2868e40612c4804c82cf8ba6275, bc2dc66a6693a78f8c1e6ca2dbebd50f16e2c366 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | a3a48de5eade770e911d35291217bdd69ce04ef1 ≤ v < f8a9b988e7a7bc674e74e8c901794d792c35689e, a3a48de5eade770e911d35291217bdd69ce04ef1 ≤ v < c7dc26d06f90ca11bbd6114f6a62a67d038816c7, a3a48de5eade770e911d35291217bdd69ce04ef1 ≤ v < 3e6b705bc162fc7257645725a7d2cf6c71250318, a3a48de5eade770e911d35291217bdd69ce04ef1 ≤ v < f26400b325bdc2868e40612c4804c82cf8ba6275, a3a48de5eade770e911d35291217bdd69ce04ef1 ≤ v < bc2dc66a6693a78f8c1e6ca2dbebd50f16e2c366, 6.4 | f8a9b988e7a7bc674e74e8c901794d792c35689e, c7dc26d06f90ca11bbd6114f6a62a67d038816c7, 3e6b705bc162fc7257645725a7d2cf6c71250318, f26400b325bdc2868e40612c4804c82cf8ba6275, bc2dc66a6693a78f8c1e6ca2dbebd50f16e2c366 |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.