CVE-2024-50223
Açıklama
Linux kernel'de aşağıdaki güvenlik açığı giderilmiştir: sched/numa: task_numa_work() fonksiyonundaki potansiyel null pointer dereference hatası düzeltildi stress-ng-vm-segv testi çalıştırıldığında, task_numa_work() içerisinde bir null pointer dereference hatası tespit edilmiştir. Geri izleme (backtrace) şu şekildedir: [323676.066985] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000020 ...... [323676.067108] CPU: 35 PID: 2694524 Comm: stress-ng-vm-se ...... [323676.067113] pstate: 23401009 (nzCv daif +PAN -UAO +TCO +DIT +SSBS BTYPE=--) [323676.067115] pc : vma_migratable+0x1c/0xd0 [323676.067122] lr : task_numa_work+0x1ec/0x4e0 [323676.067127] sp : ffff8000ada73d20 [323676.067128] x29: ffff8000ada73d20 x28: 0000000000000000 x27: 000000003e89f010 [323676.067130] x26: 0000000000080000 x25: ffff800081b5c0d8 x24: ffff800081b27000 [323676.067133] x23: 0000000000010000 x22: 0000000104d18cc0 x21: ffff0009f7158000 [323676.067135] x20: 0000000000000000 x19: 0000000000000000 x18: ffff8000ada73db8 [323676.067138] x17: 0001400000000000 x16: ffff800080df40b0 x15: 0000000000000035 [323676.067140] x14: ffff8000ada73cc8 x13: 1fffe0017cc72001 x12: ffff8000ada73cc8 [323676.067142] x11: ffff80008001160c x10: ffff000be639000c x9 : ffff8000800f4ba4 [323676.067145] x8 : ffff000810375000 x7 : ffff8000ada73974 x6 : 0000000000000001 [323676.067147] x5 : 0068000b33e26707 x4 : 0000000000000001 x3 : ffff0009f7158000 [323676.067149] x2 : 0000000000000041 x1 : 0000000000004400 x0 : 0000000000000000 [323676.067152] Call trace: [323676.067153] vma_migratable+0x1c/0xd0 [323676.067155] task_numa_work+0x1ec/0x4e0 [323676.067157] task_work_run+0x78/0xd8 [323676.067161] do_notify_resume+0x1ec/0x290 [323676.067163] el0_svc+0x150/0x160 [323676.067167] el0t_64_sync_handler+0xf8/0x128 [323676.067170] el0t_64_sync+0x17c/0x180 [323676.067173] Code: d2888001 910003fd f9000bf3 aa0003f3 (f9401000) [323676.067177] SMP: stopping secondary CPUs [323676.070184] Starting crashdump kernel... stress-ng içerisindeki stress-ng-vm-segv, sistemin SIGSEGV hata yönetimi işlevini stres testine tabi tutmak için kullanılır ve alt işlemin tüm adres alanının eşlemesinin kaldırılmasından (unmapping) dönüşte bir SIGSEGV hatasına neden olmaya çalışır. Normal şartlarda bu program çekirdek çökmelerine yol açmaz. Ancak munmap sistem çağrısı kullanıcı moduna dönmeden önce, NUMA dengelemesi için potansiyel bir task_numa_work() eklenebilir ve yürütülebilir. Bu senaryoda, munmap sonrası alt işlemin herhangi bir vma'sı kalmadığından, vma iteratörü 0'dan yeniden başlasa bile task_numa_work() içindeki vma_next() bir null pointer döndürecektir. task_numa_work() içerisinde vma işaretçisi referans verilmeden önce tekrar kontrol edilir.
Nasıl düzeltilir
- linux linux_kernel6.6.60, 6.11.7 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 | 6.3 ≤ v < 6.6.60, 6.7 ≤ v < 6.11.7, 6.12 | 6.6.60, 6.11.7 |
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.