CVE-2025-38710
Təsvir
Linux nüvəsində aşağıdakı zəiflik aradan qaldırılıb: gfs2: exhash kataloqları üçün i_depth dəyərini yoxlayın Fuzzer testi dir_e_read() funksiyasında dərinliyin 0 olması ilə nəticələnən korlanmaya səbəb olmuşdur və bu, aşağıdakı sətirdə 32 vahidlik təyin olunmamış sürüşməyə (undefined shift) yol açmışdır: index = hash >> (32 - dip->i_depth); dir_make_exhash() funksiyasında açıq şəkildə hesablandığı kimi, exhash kataloqu üçün minimum dərinlik ilog2(sdp->sd_hash_ptrs) qədərdir və sdp->sd_hash_ptrs mount zamanı sdp->bsize / 16 olaraq sabitləndiyi üçün 0 dəyəri etibarsızdır. Beləliklə, gfs2_dinode_in() funksiyasında minimumdan aşağı olan dərinlik dəyərlərini yoxlamaqla təyin olunmamış davranışın qarşısını ala bilərik. Maksimumdan böyük dəyərlər artıq orada yoxlanılır. Həmçinin, dərinliyin necə hesablandığını aydınlaşdırmaq üçün dir_make_exhash() funksiyasındakı hesablama ilog2() istifadəsinə dəyişdirildi. syzkaller repro.c və xfstests '-g quick' ilə sınaqdan keçirilib.
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 | 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.