CVE-2025-39792
Təsvir
Linux kernelində aşağıdakı zəiflik aradan qaldırılmışdır: dm: Yazma BIO-larını həmişə zonal cihaz limitlərinə uyğun böl Zone append emulyasiyası tələb edən istənilən zonal DM hədəfi blok qatının zona yazma qoşulmasından istifadə edəcək. Belə halda DM hədəf drayverləri dm_accept_partial_bio() istifadə edərək BIO-ları bölməməlidir, çünki bunun nəticəsi növbə dondurma əməliyyatları ilə deadlock-a səbəb ola bilər. Zone append əməliyyatlarını emulyasiya etmək üçün istifadə olunan adi yazma əməliyyatları da hədəf drayver tərəfindən bölünə bilməz, çünki bu, BIO sektorundan istifadə edərək etibarsız yazılmış sektor dəyərinin qaytarılması ilə nəticələnər. Zonal DM hədəf drayverlərinin belə səhv BIO bölünməsindən qaçması üçün böyük BIO-ların hədəfin map() funksiyasına ötürülməzdən əvvəl bölünməsini təmin etməliyik və bununla da xəritələnmiş cihaz üçün limitlərin aşılmamasını zəmanətə almalıyıq. dm-crypt və dm-flakey zonal cihazları dəstəkləyən və dm_accept_partial_bio() istifadə edən yeganə hədəf drayverlərdir. dm-crypt halında bu funksiya BIO-ları daxili max_write_size limitinə (bu, başqa bir yamaqda ləğv ediləcək) bölmək üçün istifadə olunur. Lakin crypt_alloc_buffer() yalnız BIO-da BIO_MAX_VECS (256) vektoruna qədər icazə verən bioset istifadə etdiyindən, dm-crypt cihazının max_segments limitinə (bu təyin edilməyib və buna görə də BLK_MAX_SEGMENTS (128) olaraq standartlaşdırılıb) riayət edilməli və yazma BIO-ları müvafiq şəkildə bölünməlidir. dm-flakey halında zone append emulyasiyası tələb olunmadığından blok qatının zona yazma qoşulması istifadə edilmir və BIO-ların bölünməsi tələb olunmur. dm_split_and_process_bio() funksiyasında bio_split_to_limits() çağırışını məcburi etmək üçün dm_zone_bio_needs_split() funksiyasını blok qatının bio_needs_zone_write_plugging() köməkçi funksiyasından istifadə etmək üçün dəyişdirin. Bu, DM hədəf drayverlərinə zonal DM cihazlarında yazma əməliyyatları üçün dm_accept_partial_bio() istifadə etməməyə imkan verir.
Necə düzəltmək olar
- linux linux_kernel6.12.43, 6.15.11, 6.16.2 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.43, 6.13 ≤ v < 6.15.11, 6.16 ≤ v < 6.16.2 | 6.12.43, 6.15.11, 6.16.2 |
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.