CVE-2024-26596

Orta

Açıklama

Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: net: dsa: DSA olmayan netdevice olaylarında kontrol öncesinde yapılan netdev_priv() başvurusu düzeltildi Hatalı commit sonrası, sistemdeki her NETDEV_CHANGEUPPER ve NETDEV_PRECHANGEUPPER olayı için bu başvuru yapılmaya başlandı. static inline struct dsa_port *dsa_user_to_port(const struct net_device *dev) { struct dsa_user_priv *p = netdev_priv(dev); return p->dp; } Tüm net_devices yapıları struct dsa_user_priv tipinde bir netdev_priv() değerine sahip olmadığı için bu durum açıkça hatalıdır. Ancak struct dsa_user_priv oldukça küçüktür ve p->dp ifadesi 16 offsetinden başlayan 8 baytlık bir referans anlamına gelir. Çoğu sürücü zaten bu kadar özel bellek ayırdığından erişimimiz hata vermemiş ve hatalı veriyi hemen ardından elediğimiz için bu durum fark edilmemiştir. Fakat dummy arayüzü, alloc_netdev() fonksiyonunu 0 boyutunda bir priv değeriyle çağırdığı için biraz özeldir. Bu nedenle her netdev_priv() başvurusu geçersizdir ve yeni üst katman olarak bir VLAN ile NETDEV_PRECHANGEUPPER olayı yayınladığımızda şu sonuçla karşılaşırız: $ ip link add dummy1 type dummy $ ip link add link dummy1 name dummy1.100 type vlan id 100 [ 43.309174] ================================================================== [ 43.316456] BUG: KASAN: slab-out-of-bounds in dsa_user_prechangeupper+0x30/0xe8 [ 43.323835] Read of size 8 at addr ffff3f86481d2990 by task ip/374 [ 43.330058] [ 43.342436] Call trace: [ 43.366542] dsa_user_prechangeupper+0x30/0xe8 [ 43.371024] dsa_user_netdevice_event+0xb38/0xee8 [ 43.375768] notifier_call_chain+0xa4/0x210 [ 43.379985] raw_notifier_call_chain+0x24/0x38 [ 43.384464] __netdev_upper_dev_link+0x3ec/0x5d8 [ 43.389120] netdev_upper_dev_link+0x70/0xa8 [ 43.393424] register_vlan_dev+0x1bc/0x310 [ 43.397554] vlan_newlink+0x210/0x248 [ 43.401247] rtnl_newlink+0x9fc/0xe30 [ 43.404942] rtnetlink_rcv_msg+0x378/0x580 Alışılagelmiş olduğu üzere, tür kontrolünden sonra referans verme işlemi gerçekleştirilerek kernel oops hatası önlenmiştir.

ÖnemOrta
CVSS5.5
İstismar olasılığı—
ÜrünLinux Kernel
Yayın23 Şub 2024
İlk görülme23 Şub 2024

Nasıl düzeltilir

Güncelleyin
  • linux linux_kernel6.7.2 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernel6.1.0 ≤ v < 6.7.26.7.2

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-2024-26596 · Linux Kernel · Dark Radar