CVE-2023-54019
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: sched/psi: PSI trigger polling üçün kernfs polling funksiyalarından istifadə edin cgroup_file_release daxilində psi trigger-inin məhv edilməsi, bir cgroup polling prosesindən silindikdə UAF problemlərinə səbəb olur. Bu, fayl hələ də aktiv olduğu halda cgroup-un silinməsinin cgroup_file_release çağırışına səbəb olması ilə bağlı baş verir. Trigger-in bu mərhələdə məhv edilməsi onun waitqueue head hissəsini də məhv edir və əgər həmin fayla müraciət edən polling prosesi hələ də waitqueue-ya giriş etməyə çalışırsa, azad edilmiş göstəriciyə (pointer) müraciət edəcək: do_select vfs_poll do_rmdir cgroup_rmdir kernfs_drain_open_files cgroup_file_release cgroup_pressure_release psi_trigger_destroy wake_up_pollfree(&t->event_wait) // vfs_poll blokdan çıxarılır synchronize_rcu kfree(t) poll_freewait -> trigger-in waitqueue head hissəsinə UAF girişi Yamaq [1], wake_up_pollfree() istifadə edərək bu problemi epoll() halı üçün düzəltmişdi, lakin eyni problem sinxron poll() halı üçün də mövcuddur. Problemin kök səbəbi psi trigger-inin waitqueue-sunun və trigger ilə əlaqəli faylın həyat dövrlərinin fərqli olmasıdır. Bunu, cgroup-a xas psi trigger-ləri üzərində polling zamanı kernfs_generic_poll funksiyasından istifadə etməklə düzəldin. O, daxili olaraq həyat dövrü faylın həyat dövrünə bağlı olan kernfs_open_node->poll waitqueue head hissəsindən istifadə edir. Bu həmçinin [1]-dəki düzəlişi artıq lazımsız edir, buna görə də onu geri qaytarın. [1] commit c2dbe32d5db5 ("sched/psi: Fix use-after-free in ep_remove_wait_queue()")
Necə düzəltmək olar
- Linux Linux92cc0153324b6ae8577a39f5bf2cd83c9a34ea6a, d124ab17024cc85a1079b7810a018a497ebc13da, aff037078ecaecf34a7c2afab1341815f90fba5e və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| Linux Linux | 0e94682b73bfa6c44c98af7a26771c9c08c055d5 ≤ v < 92cc0153324b6ae8577a39f5bf2cd83c9a34ea6a, 0e94682b73bfa6c44c98af7a26771c9c08c055d5 ≤ v < d124ab17024cc85a1079b7810a018a497ebc13da, 0e94682b73bfa6c44c98af7a26771c9c08c055d5 ≤ v < aff037078ecaecf34a7c2afab1341815f90fba5e, 5.2 | 92cc0153324b6ae8577a39f5bf2cd83c9a34ea6a, d124ab17024cc85a1079b7810a018a497ebc13da, aff037078ecaecf34a7c2afab1341815f90fba5e |
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.