CVE-2026-23159
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: perf: sched: Yeni is_user_task() köməkçi funksiyası ilə perf çöküşünün düzəldilməsi İstifadəçi sahəsi stacktrace-ni yerinə yetirmək üçün cari tapşırıq (task), istifadəçi sahəsində icra olunmuş bir istifadəçi tapşırığı olmalıdır. Əvvəllər tapşırığın istifadəçi tapşırığı olub-olmadığını sadəcə task_struct mm sahəsini yoxlayaraq müəyyən etmək mümkün idi. Əgər bu sahə NULL deyilsə, o, istifadəçi tapşırığı, əks halda isə kernel tapşırığı hesab edilirdi. Lakin zamanla vəziyyət dəyişdi və bəzi kernel tapşırığının artıq öz mm sahələri var. Bunun əvəzinə PF_KTHREAD-in yoxlanılması ideyası irəli sürüldü və tapşırığın istifadəçi tapşırığı olub-olmadığını yoxlamağın gələcəkdə daha mürəkkəbləşmə ehtimalına qarşı bu yoxlamanı əhatə edən iki funksiya istifadə edildi [1]. Lakin bu təklif rədd edildi və C kodu birbaşa PF_KTHREAD-i yoxladı. Sonradan məlum oldu ki, bütün kernel axınları (threads) PF_KTHREAD-i təyin etmir. Bunun əvəzinə io-uring köməkçiləri PF_USER_WORKER-i təyin edir və bunun da siyahıya əlavə edilməsi lazım gəldi. Lakin bayraqların (flags) yoxlanılması hələ də kifayət deyil. Tapşırıq çıxarkən onun mm sahəsini azad etdiyi və yenidən NULL-a təyin edildiyi çox kiçik bir zaman pəncərəsi mövcuddur. Əgər perf məhz bu anda işə düşərsə, bayraq testi onun istifadəçi sahəsi tapşırığı olduğunu göstərəcək, lakin perf mm sahəsini oxuyarkən NULL pointer dereference səbəbiylə çökəcəkdir. Hazırda tapşırığın çıxış etdiyini yoxlamaq üçün istifadə edilə bilən bayraqlar var, lakin onlar perf-in hələ də istifadəçi sahəsi tapşırığını profilini çıxarmaq istəyə biləcəyi (harada çıxış etdiyini görmək üçün) sahələrdə təyin edilir. Yeganə real yoxlama həm bayraqları, həm də mm sahəsini yoxlamaqdır. Bu dəyişikliyi hər bir yerdə təkrar etmək əvəzinə, istifadəçi sahəsi yaddaşını oxumağın təhlükəsiz olub-olmadığını müəyyən etmək üçün bütün lazımi testləri yerinə yetirən yeni is_user_task() köməkçi funksiyası yaradıldı. [1] https://lore.kernel.org/all/[email protected]/
Necə düzəltmək olar
- linux linux_kernel6.6.123, 6.12.69, 6.18.9 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 | 6.6.116 ≤ v < 6.6.123, 6.12.57 ≤ v < 6.12.69, 6.17.7 ≤ v < 6.18.9, 6.19 | 6.6.123, 6.12.69, 6.18.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.
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.