CVE-2022-49889
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: ring-buffer: ring_buffer_wake_waiters() funksiyasında cpu_buffer üçün NULL yoxlaması Bəzi maşınlarda siyahıda göstərilən CPU sayı mövcud olan real CPU sayından daha çox ola bilər. Tracing alt sistemi, cpuX faylı vasitəsilə hər bir CPU ring buffer-inə giriş imkanı verən per_cpu kataloqunu ayırır. Lakin yerə qənaət etmək üçün, CPU massivi nr_cpu_ids qədər böyük olsa belə, ring buffer yalnız aktiv (online) CPU-lar üçün buferlər ayıracaqdır. Fayl bağlanarkən ring buffer üzərində gözləyənləri oyatma funksiyasının əlavə edilməsi ilə birlikdə, ring_buffer_wake_waiters() artıq gözləyənləri oyatmazdan əvvəl buferin ayrıldığından (və onunla birlikdə irq_work-ün ayrıldığından) əmin olmalıdır, çünki əks halda bu, NULL pointer dereference xətasına səbəb olacaqdır. Bunu debug edərkən, mən buferin özü üçün NULL yoxlaması (bu doğrudur), həmçinin buffer->buffers üçün NULL pointer yoxlamaları (bu düzgün deyil və WARN verəcək) əlavə etdim və ötürülən CPU nömrəsinin nr_cpu_ids daxilində olduğundan əmin oldum (bu da, əgər belə deyilsə, düzgün deyil). Bugzilla: https://bugzilla.opensuse.org/show_bug.cgi?id=1204705
Necə düzəltmək olar
- linux linux_kernel5.15.78, 6.0, 6.0.8 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| linux linux_kernel | 5.15.75 ≤ v < 5.15.78, 5.19.17 ≤ v < 6.0, 6.0.3 ≤ v < 6.0.8 | 5.15.78, 6.0, 6.0.8 |
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.
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.