CVE-2024-53140
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılmışdır: netlink: soket bağlanarkən davam edən dump prosesinin dayandırılması Netlink məlumatların iterativ şəkildə dump edilməsini dəstəkləyir. O, ailələrə aşağıdakı əməliyyatları təmin edir: - start - (isteğe bağlı) dump prosesini başladır - dump - əsl dump köməkçisi, 0 qaytarana qədər çağırılmağa davam edir - done - (isteğe bağlı) .start ilə cütləşir, təmizləmə üçün istifadə edilə bilər Bütün proses asinxron və .dump funksiyasına təkrar çağırışlar sıx dövr daxilində baş vermir, əvəzində soket üzərindəki recvmsg() cavabına reaksiya olaraq tetiklenir. Bu, istifadəçiyə dump üzərində tam nəzarət verir, lakin həmçinin o deməkdir ki, istifadəçi dump tamamlanmadan soketi bağlaya bilər. .start funksiyasının həmişə .done ilə cütləşdiyindən əmin olmaq üçün soket azad edilməzdən əvvəl davam edən dump-ın olub-olmadığını yoxlayırıq və varsa, .done funksiyasını çağırırıq. Çətinlik ondadır ki, soketlər BH-dən azad edilə bilər və .done funksiyasının yuxuya getməsinə (sleep) icazə verilir. Buna görə də, ehtiyac olduqda çağırışı təxirə salmaq üçün iş növbəsindən (workqueue) istifadə edirik. Təəssüf ki, bu düzgün işləmir. Təxirə saldığımız şey təmizləmə deyil, soket üzərindəki istinadın (reference) azad edilməsidir. Sonuncu istinada sahib olduğumuza dair heç bir zəmanətimiz yoxdur; əgər kimsə soketi saxlayırsa, onu BH-də azad edə bilər və biz yenidən başlanğıc nöqtəsinə qayıdarıq. Lakin bütün bu proses lazımsız görünür. Dump-larla yalnız istifadəçi qarşılıqlı əlaqə qura bildiyi üçün soket bağlandıqda təmizləməni apara bilərik. Və bağlanma həmişə proses kontekstində baş verir. Bəzi asinxron kodlar bağlanmadan sonra hələ də soketə daxil ola bilər, ona bildiriş skb-lərini növbəyə ala bilər və s., lakin heç bir dump başlaya, bitə və ya irəliləyə bilməz. İş növbəsini silin və dump vəziyyətini birbaşa azad etmə handler-i vasitəsilə təmizləyin. Qeyd edin ki, -next versiyasında daha geniş təmizləmə mümkündür, məsələn, artıq əsas modul istinadını azad etməzdən əvvəl həmişə .done funksiyasını çağırırıq, beləliklə dump özünün ayrıca istinadını götürməli olmaz.
Necə düzəltmək olar
- linux linux_kernel4.5, 4.9, 6.1.119, 6.6.63, 6.11.10 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 | 4.4.38 ≤ v < 4.5, 4.8.14 ≤ v < 4.9, 4.9 ≤ v < 6.1.119, 6.2 ≤ v < 6.6.63, 6.7 ≤ v < 6.11.10 | 4.5, 4.9, 6.1.119, 6.6.63, 6.11.10 |
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.