CVE-2025-38141
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılmışdır: dm: dm_blk_report_zones funksiyasındakı xəta düzəldildi Əgər dm_get_live_table() NULL qaytararsa, dm_put_live_table() heç vaxt çağırılmırdı. Həmçinin, bu funksiya çağırılanda md->zone_revalidate_map dəyişə bilərdi. Həmişə eyni dəyərdən istifadə etmək üçün onu yalnız bir dəfə oxuyun. Əks halda, dm_put_live_table() çağırışını qaçıra bilərik. Nəhayət, md->zone_revalidate_map təyin edildikdə və bir proses zon append emulyasiya resurslarını qurmaq üçün blk_revalidate_disk_zones() funksiyasını çağırdıqda, digər bir prosesin (məsələn, blkdev_report_zones_ioctl() tərəfindən tetiklənən) dm_blk_report_zones() funksiyasını çağırması mümkündür. Əgər blk_revalidate_disk_zones() uğursuz olarsa, bu resurslar digər proses onlardan hələ də istifadə edərkən azad edilə bilər ki, bu da use-after-free xətasına səbəb olar. blk_revalidate_disk_zones() yalnız zon append emulyasiya resursları ilkin olaraq qurularkən, məsələn, ilk dəfə zonlu dm-crypt cədvəli qurularkən çağırılır. Sonrakı cədvəl dəyişdirilmələri md->zone_revalidate_map-i təyin etmir və ya blk_revalidate_disk_zones()-u çağırmır. Lakin DM cihazı dayandırıldığı müddətdə yeni cədvəl (md->zone_revalidate_map ilə istinad edilən) və yeni növbə limitləri istifadə edilərək çağırılmalıdır. dm_blk_report_zones() funksiyası blk_revalidate_disk_zones() tərəfindən edilən çağırışı (hansı ki, hələ aktivləşdirilməmiş cədvələ daxil olmaq üçün md->zone_revalidate_map-dən istifadəsinə icazə verilməlidir) və dm_blk_report_zones()-a edilən bütün digər çağırışları (cihaz dayandırıldıqda bunlara icazə verilməməlidir və md->zone_revalidate_map-dən istifadə edə bilməzlər, çünki zon resursları hazırda blk_revalidate_disk_zones()-u çağıran proses tərəfindən azad edilə bilər) fərqləndirmək üçün bir üsula ehtiyac duyur. Bu problem, dm_revalidate_zones() funksiyasında md->zone_revalidate_map-i təyin edən prosesi izləyərək və dm_blk_report_zones() funksiyasında yalnız həmin prosesin ondan istifadəsinə icazə verməklə həll edilmişdir.
Necə düzəltmək olar
- linux linux_kernel6.12.34, 6.15.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.10 ≤ v < 6.12.34, 6.13 ≤ v < 6.15.3 | 6.12.34, 6.15.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.