CVE-2022-48808

Orta

Açıklama

Linux kernel'de aşağıdaki güvenlik açığı giderilmiştir: net: dsa: kapatma sırasında DSA ana cihazı ayrıldığında meydana gelen panic hatası düzeltildi Rafael; LX2160A ve Marvell DSA switch'lerine sahip bir sistemde, DSA ana cihazı (dpaa2-eth) aktifken yeniden başlatma işlemi gerçekleşirse şu panic hatasının görülebildiğini bildirmiştir: systemd-shutdown[1]: Rebooting. Unable to handle kernel paging request at virtual address 00a0000800000041 [00a0000800000041] address between user and kernel address ranges Internal error: Oops: 96000004 [#1] PREEMPT SMP CPU: 6 PID: 1 Comm: systemd-shutdow Not tainted 5.16.5-00042-g8f5585009b24 #32 pc : dsa_slave_netdevice_event+0x130/0x3e4 lr : raw_notifier_call_chain+0x50/0x6c Call trace: dsa_slave_netdevice_event+0x130/0x3e4 raw_notifier_call_chain+0x50/0x6c call_netdevice_notifiers_info+0x54/0xa0 __dev_close_many+0x50/0x130 dev_close_many+0x84/0x120 unregister_netdevice_many+0x130/0x710 unregister_netdevice_queue+0x8c/0xd0 unregister_netdev+0x20/0x30 dpaa2_eth_remove+0x68/0x190 fsl_mc_driver_remove+0x20/0x5c __device_release_driver+0x21c/0x220 device_release_driver_internal+0xac/0xb0 device_links_unbind_consumers+0xd4/0x100 __device_release_driver+0x94/0x220 device_release_driver+0x28/0x40 bus_remove_device+0x118/0x124 device_del+0x174/0x420 fsl_mc_device_remove+0x24/0x40 __fsl_mc_device_remove+0xc/0x20 device_for_each_child+0x58/0xa0 dprc_remove+0x90/0xb0 fsl_mc_driver_remove+0x20/0x5c __device_release_driver+0x21c/0x220 device_release_driver+0x28/0x40 bus_remove_device+0x118/0x124 device_del+0x174/0x420 fsl_mc_bus_remove+0x80/0x100 fsl_mc_bus_shutdown+0xc/0x1c platform_shutdown+0x20/0x30 device_shutdown+0x154/0x330 __do_sys_reboot+0x1cc/0x250 __arm64_sys_reboot+0x20/0x30 invoke_syscall.constprop.0+0x4c/0xe0 do_el0_svc+0x4c/0x150 el0_svc+0x24/0xb0 el0t_64_sync_handler+0xa8/0xb0 el0t_64_sync+0x178/0x17c Yığın izleme (stack trace) üzerinden problemin, ana cihazın kaydının silinmesinin bir dev_close() tetiklemesi ve bunun dsa_slave_netdevice_event() fonksiyonuna NETDEV_GOING_DOWN olarak bildirilmesi olduğu görülmektedir. Ancak dsa_switch_shutdown() zaten çalışmış ve DSA slave arayüzlerini kayıttan silmiş durumdadır; buna rağmen NETDEV_GOING_DOWN işleyicisi bu slave arayüzleri üzerinde dev_close_many() çağırmaya çalışmakta ve bu da söz konusu probleme yol açmaktadır. dsa_switch_shutdown() çağrıldıktan sonra ana cihaz üzerindeki NETDEV_GOING_DOWN olayını önlemeye yönelik önceki girişim hatalı görünmektedir. Slave arayüzlerin kaydının silinmesi gereksizdir ve fayda sağlamamaktadır. Bunun yerine, slave'ler artık DSA ana cihazının üstleri olmaktan çıktığında, master->dsa_ptr işaretçisini NULL olarak sıfırlayabiliriz; böylece DSA, ana cihaz üzerindeki tüm gelecekteki notifier olaylarını yoksaymaya başlayacaktır.

ÖnemOrta
CVSS5.5
İstismar olasılığı—
ÜrünLinux Kernel
Yayın16 Tem 2024
İlk görülme16 Tem 2024

Nasıl düzeltilir

Güncelleyin
  • linux linux_kernel5.15.155, 5.16.10 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernel5.15 ≤ v < 5.15.155, 5.16 ≤ v < 5.16.105.15.155, 5.16.10

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-2022-48808 · Linux Kernel · Dark Radar