CVE-2021-47238

Orta

Açıklama

Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: net: ipv4: ip_mc_add1_src fonksiyonundaki bellek sızıntısı düzeltildi HATA: bellek sızıntısı referanssız nesne 0xffff888101bc4c00 (boyut 32): comm "syz-executor527", pid 360, jiffies 4294807421 (yaş 19.329s) hex dökümü (ilk 32 bayt): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 01 00 00 00 00 00 00 00 ac 14 14 bb 00 00 02 00 ................ geri izleme (backtrace): [<00000000f17c5244>] kmalloc include/linux/slab.h:558 [inline] [<00000000f17c5244>] kzalloc include/linux/slab.h:688 [inline] [<00000000f17c5244>] ip_mc_add1_src net/ipv4/igmp.c:1971 [inline] [<00000000f17c5244>] ip_mc_add_src+0x95f/0xdb0 net/ipv4/igmp.c:2095 [<000000001cb99709>] ip_mc_source+0x84c/0xea0 net/ipv4/igmp.c:2416 [<0000000052cf19ed>] do_ip_setsockopt net/ipv4/ip_sockglue.c:1294 [inline] [<0000000052cf19ed>] ip_setsockopt+0x114b/0x30c0 net/ipv4/ip_sockglue.c:1423 [<00000000477edfbc>] raw_setsockopt+0x13d/0x170 net/ipv4/raw.c:857 [<00000000e75ca9bb>] __sys_setsockopt+0x158/0x270 net/socket.c:2117 [<00000000bdb993a8>] __do_sys_setsockopt net/socket.c:2128 [inline] [<00000000bdb993a8>] __se_sys_setsockopt net/socket.c:2125 [inline] [<00000000bdb993a8>] __x64_sys_setsockopt+0xba/0x150 net/socket.c:2125 [<000000006a1ffdbd>] do_syscall_64+0x40/0x80 arch/x86/entry/common.c:47 [<00000000b11467c4>] entry_SYSCALL_64_after_hwframe+0x44/0xae 24803f38a5c0 numaralı commit'te ("igmp: do not remove igmp souce list info when set link down"), igmpv3_clear_delrec() içinde de çağrıldığı için ip_mc_destroy_dev() içerisindeki ip_mc_clear_src() kaldırılmıştır. Yaklaşık çağrı grafiği: inetdev_destroy -> ip_mc_destroy_dev -> igmpv3_clear_delrec -> ip_mc_clear_src -> RCU_INIT_POINTER(dev->ip_ptr, NULL) Ancak, igmpv3_clear_delrec() içinde çağrılan ip_mc_clear_src(), in_dev->mc_list->sources kısmını serbest bırakmamaktadır ve RCU_INIT_POINTER(), dev->ip_ptr değerine NULL atamaktadır. Sonuç olarak, in_dev; inetdev_by_index() aracılığıyla elde edilememekte ve ardından sock_close içindeki ip_mc_del1_src() tarafından in_dev->mc_list->sources serbest bırakılamamaktadır. Yaklaşık çağrı sırası şöyledir: sock_close -> __sock_release -> inet_release -> ip_mc_drop_socket -> inetdev_by_index -> ip_mc_leave_src -> ip_mc_del_src -> ip_mc_del1_src Bu nedenle, in_dev->mc_list->sources kısmını boşaltmak için ip_mc_destroy_dev() içerisinde hala ip_mc_clear_src() fonksiyonunu çağırmak gerekmektedir.

ÖnemOrta
CVSS5.5
İstismar olasılığı—
ÜrünLinux Kernel
Yayın21 May 2024
İlk görülme21 May 2024

Nasıl düzeltilir

Güncelleyin
  • linux linux_kernel3.3, 3.17, 4.9.274, 4.14.238, 4.19.196, 5.4.128, 5.10.46, 5.12.13 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernel3.2.87 ≤ v < 3.3, 3.16.42 ≤ v < 3.17, 4.9 ≤ v < 4.9.274, 4.10 ≤ v < 4.14.238, 4.15 ≤ v < 4.19.196, 4.20 ≤ v < 5.4.128, 5.5 ≤ v < 5.10.46, 5.11 ≤ v < 5.12.13, 5.133.3, 3.17, 4.9.274, 4.14.238, 4.19.196, 5.4.128, 5.10.46, 5.12.13

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.

Intelligence 360 paketinde

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.

CVE-2021-47238 · Linux Kernel · Dark Radar