CVE-2024-26802

Yüksək

Təsvir

Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: stmmac: İş növbəsi məhv edilərkən dəyişən təmizlənsin Hazırda sürücü dayandırılarkən və iş növbəsi saxlanılarkən iş növbəsinin NULL olub-olmadığı yoxlanılır və əgər belədirsə, o, məhv edilir. destroy_workqueue() funksiyası növbəni boşaldır və dəyişəni təmizləyir, lakin iş növbəsi dəyişənini NULL-a təyin etmir. Bu, əgər kod işə salınmamış iş növbəsini təmizləməyə cəhd edərsə, kernel/modul panikasına səbəb ola bilər. Bu ssenari stmmac_resume() funksiyasında dayandırılmış sürücü davam etdirilərkən mümkündür, çünki uğursuz stmmac_hw_setup() üçün heç bir emal yoxdur, hansı ki, DMA mühərriki işə başlaya bilmədikdə uğursuz ola və geri qayıda bilər, iş növbəsi isə DMA mühərrikindən sonra işə salınır. Əgər DMA mühərriki işə başlaya bilməzsə, davam etdirmə normal şəkildə davam edəcək, lakin interfeys işləməyəcək və TX növbəsi nəhayət vaxt aşımına uğrayacaq, bu da 'Reset adapter' xətasına səbəb olacaq. Bu da öz növbəsində sıfırlama prosesi zamanı iş növbəsini məhv edir. Və iş növbəsi DMA mühərrikindən sonra işə salındığı və ötürülə bildiyi üçün bu, kernel/modul panikasına səbəb olacaq. Bu mümkün qəzadan qorunmaq üçün iş növbəsi məhv edilərkən iş növbəsi dəyişənini NULL-a təyin edin. Qəzadan log/geri izləmə aşağıdakı kimidir: [88.031977]------------[ cut here ]------------ [88.031985]NETDEV WATCHDOG: eth0 (sxgmac): transmit queue 1 timed out [88.032017]WARNING: CPU: 0 PID: 0 at net/sched/sch_generic.c:477 dev_watchdog+0x390/0x398 <Skipping backtrace for watchdog timeout> [88.032251]---[ end trace e70de432e4d5c2c0 ]--- [88.032282]sxgmac 16d88000.ethernet eth0: Reset adapter. [88.036359]------------[ cut here ]------------ [88.036519]Call trace: [88.036523] flush_workqueue+0x3e4/0x430 [88.036528] drain_workqueue+0xc4/0x160 [88.036533] destroy_workqueue+0x40/0x270 [88.036537] stmmac_fpe_stop_wq+0x4c/0x70 [88.036541] stmmac_release+0x278/0x280 [88.036546] __dev_close_many+0xcc/0x158 [88.036551] dev_close_many+0xbc/0x190 [88.036555] dev_close.part.0+0x70/0xc0 [88.036560] dev_close+0x24/0x30 [88.036564] stmmac_service_task+0x110/0x140 [88.036569] process_one_work+0x1d8/0x4a0 [88.036573] worker_thread+0x54/0x408 [88.036578] kthread+0x164/0x170 [88.036583] ret_from_fork+0x10/0x20 [88.036588]---[ end trace e70de432e4d5c2c1 ]--- [88.036597]Unable to handle kernel NULL pointer dereference at virtual address 0000000000000004

CiddilikYüksək
CVSS7.8
İstismar ehtimalı—
MəhsulLinux Kernel
Dərc4 apr 2024
İlk görülmə4 apr 2024

Necə düzəltmək olar

Yeniləyin
  • linux linux_kernel5.15.151, 6.1.81, 6.6.21, 6.7.9 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
linux linux_kernel5.13 ≤ v < 5.15.151, 5.16 ≤ v < 6.1.81, 6.2 ≤ v < 6.6.21, 6.7 ≤ v < 6.7.9, 6.85.15.151, 6.1.81, 6.6.21, 6.7.9

Versiyanızı yoxlayın

Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.

Intelligence 360 paketində

Attack Surface Management

Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.

CVE-2024-26802 · Linux Kernel · Dark Radar