CVE-2023-52879

Yüksək

Təsvir

Linux kernel-də aşağıdakı zəiflik aradan qaldırılmışdır: tracing: trace_event_file üçün istinad sayğaclarının (ref counters) əlavə edilməsi Aşağıdakılar kernel-in çökməsinə səbəb ola bilər: # cd /sys/kernel/tracing # echo 'p:sched schedule' > kprobe_events # exec 5>>events/kprobes/sched/enable # > kprobe_events # exec 5>&- Yuxarıdakı əmrlər: 1. tracefs kataloquna keçid edir 2. kprobe hadisəsi yaradır (hansı olduğu fərqi yoxdur) 3. kprobe hadisəsinin enable faylı üzərində bash fayl deskriptoru 5-i açır 4. kprobe hadisəsini silir (fayllar da silinir) 5. bash fayl deskriptoru 5-i bağlayır Bu proses çökməyə səbəb olur! BUG: kernel NULL pointer dereference, address: 0000000000000028 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 0 P4D 0 Oops: 0000 [#1] PREEMPT SMP PTI CPU: 6 PID: 877 Comm: bash Not tainted 6.5.0-rc4-test-00008-g2c6b6b1029d4-dirty #186 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.2-debian-1.16.2-1 04/01/2014 RIP: 0010:tracing_release_file_tr+0xc/0x50 Burada baş verən odur ki, kprobe hadisəsi tracefs-dəki hadisəni təmsil edən bir trace_event_file "file" deskriptoru yaradır. O, hadisənin vəziyyətini saxlayır (verilmiş nümunə üçün aktivdirmi?). "enable" faylının açılması, açıq fayl deskriptoru vasitəsilə hadisənin "file" deskriptoruna istinad yaradır. kprobe hadisəsi silindikdə, fayl həmçinin tracefs sistemindən də silinir və bu, hadisənin "file" deskriptorunu azad edir. Lakin tracefs faylı hələ də istifadəçi sahəsi (user space) tərəfindən açıq saxlandığı üçün, sonuncu dput() çağırılanda qədər tamamilə silinməyəcək. Lakin artıq azad edilmiş hadisə "file" deskriptoru üçün bu belə deyil. Əgər istifadəçi fayl deskriptoruna yazı yazarsa və ya onu sadəcə bağlayarsa, o, yeni azad edilmiş hadisə "file" deskriptoruna istinad edəcək ki, bu da use-after-free xətasına səbəb olacaq. Bunu həll etmək üçün hadisə "file" deskriptoruna istinad sayğacı və "FREED" adlı yeni bayraq (flag) əlavə edildi. Sonuncu istinad buraxılana qədər "file" azad edilməyəcək. Lakin hadisənin "file" deskriptoruna hələ də istinad olsa belə, həmin hadisə üzərində daha çox dəyişikliyin qarşısını almaq üçün hadisə silindikdə FREE bayrağı təyin olunacaq.

CiddilikYüksək
CVSS7.8
İstismar ehtimalı—
MəhsulLinux Kernel
Dərc21 may 2024
İlk görülmə21 may 2024

Necə düzəltmək olar

Yeniləyin
  • linux linux_kernel5.4.262, 5.10.202, 5.15.140, 6.1.64, 6.5.13, 6.6.1 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
linux linux_kernel5.4.258 ≤ v < 5.4.262, 5.10.198 ≤ v < 5.10.202, 5.15.134 ≤ v < 5.15.140, 6.1.55 ≤ v < 6.1.64, 6.5.5 ≤ v < 6.5.13, 6.6 ≤ v < 6.6.15.4.262, 5.10.202, 5.15.140, 6.1.64, 6.5.13, 6.6.1

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-2023-52879 · Linux Kernel · Dark Radar