CVE-2026-64251
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: pwrseq: core: pwrseq_debugfs_seq_next()-də istifadədən sonra azad etmə xətası düzəldilib pwrseq_debugfs_seq_next() funksiyası 'next' dəyişənini __free(put_device) ilə elan edir və bu, dəyişən əhatə dairəsindən çıxdıqda qaytarılan göstərici üzərində put_device() çağırılmasına səbəb olur. Nəticədə istifadədən sonra azad etmə (use-after-free) baş verir, çünki seq_file mexanizmi istinadı artıq buraxılmış göstərici alır. Sadəcə __free(put_device) silinsəydi, UAF aradan qalxardı, lakin bus_find_next_device() tərəfindən əldə edilən istinad sızardı, çünki stop() yalnız up_read(&pwrseq_sem) çağırır və cihaz istinadını heç vaxt buraxmır. Bunu bütün seq_file callback-ləri üzrə istinad sayımını ardıcıl etməklə, PCI və SCSI tərəfindən istifadə olunan standart nümunəyə uyğun şəkildə düzəldin: - start(): istinadlı göstərici qaytarmaq üçün get_device() istifadə edin. - next(): əvvəlki cihazın istinadını buraxmaq üçün açıq şəkildə put_device(curr) çağırın (NULL yoxlaması lazım deyil - seq_file mexanizmi next() funksiyasını yalnız əvvəlki qaytarma NULL olmadıqda çağırır). - stop(): son iterasiya olunan cihazın istinadını buraxmaq üçün put_device(data) çağırın, NULL yoxlaması ilə, çünki stop() start() NULL qaytardıqda və ya next() ardıcıllığın sonuna çatdıqda NULL ilə çağırıla bilər.
Necə düzəltmək olar
- linux linux_kernel6.12.95, 6.18.38, 7.1.3 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.11 ≤ v < 6.12.95, 6.13 ≤ v < 6.18.38, 6.19 ≤ v < 7.1.3 | 6.12.95, 6.18.38, 7.1.3 |
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.