CVE-2022-48651
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: ipvlan: Ayarlanmamış skb->mac_header nedeniyle oluşan sınır dışı (out-of-bound) hataları düzeltildi Eğer ipvlan üzerinden paket göndermek için bir AF_PACKET soketi kullanılırsa ve AF_PACKET soketinin varsayılan xmit fonksiyonu, PACKET_QDISC_BYPASS seçenek ismiyle setsockopt() aracılığıyla dev_queue_xmit()'den packet_direct_xmit()'ye değiştirilirse, skb->mac_header sıfırlanmayabilir ve başlangıç değeri olan 65535 olarak kalabilir; bu durum aşağıdaki gibi slab-out-of-bounds hatalarını tetikleyebilir: ================================================================= UG: KASAN: slab-out-of-bounds in ipvlan_xmit_mode_l2+0xdb/0x330 [ipvlan] PU: 2 PID: 1768 Comm: raw_send Kdump: loaded Not tainted 6.0.0-rc4+ #6 ardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.14.0-1.fc33 all Trace: print_address_description.constprop.0+0x1d/0x160 print_report.cold+0x4f/0x112 kasan_report+0xa3/0x130 ipvlan_xmit_mode_l2+0xdb/0x330 [ipvlan] ipvlan_start_xmit+0x29/0xa0 [ipvlan] __dev_direct_xmit+0x2e2/0x380 packet_direct_xmit+0x22/0x60 packet_snd+0x7c9/0xc40 sock_sendmsg+0x9a/0xa0 __sys_sendto+0x18a/0x230 __x64_sys_sendto+0x74/0x90 do_syscall_64+0x3b/0x90 entry_SYSCALL_64_after_hwframe+0x63/0xcd Kök neden şudur: 1. packet_snd(), yalnızca sock->type değerinin SOCK_RAW olduğu ve packet_parse_headers()'da olduğu gibi skb->protocol değerinin belirtilmediği durumlarda skb->mac_header'ı sıfırlar. 2. packet_direct_xmit(), dev_queue_xmit() gibi skb->mac_header'ı sıfırlamaz. Bu durumda, ipvlan_xmit_mode_l2() çağrıldığında skb->mac_header 65535'tir. Dolayısıyla, ipvlan_xmit_mode_l2() "skb->head + skb->mac_header" kullanan eth_hdr() ile MAC başlığını aldığında, sınır dışı erişim meydana gelir. Bu yama, söz konusu sınır dışı hatasını çözmek için ipvlan_xmit_mode_l2() içerisindeki eth_hdr()'yi skb_eth_hdr() ile değiştirir ve çoklu yayında (multicast) MAC başlığını sıfırlar.
Nasıl düzeltilir
- linux linux_kernel4.9.330, 4.14.295, 4.19.260, 5.4.215, 5.10.146, 5.15.71, 5.19.12 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| linux linux_kernel | 3.19 ≤ v < 4.9.330, 4.10 ≤ v < 4.14.295, 4.15 ≤ v < 4.19.260, 4.20 ≤ v < 5.4.215, 5.5 ≤ v < 5.10.146, 5.11 ≤ v < 5.15.71, 5.16 ≤ v < 5.19.12, 6.0 | 4.9.330, 4.14.295, 4.19.260, 5.4.215, 5.10.146, 5.15.71, 5.19.12 |
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.