CVE-2026-90200
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: fs/ntfs3: MFT klaster validasiyasında tam ədəd daşmasının (integer overflow) düzəldilməsi ntfs_init_from_boot() funksiyasında, boot sektorunun MFT klaster nömrələri həcm ölçüsü ilə belə yoxlanılır: if (mlcn * sct_per_clst >= sectors || mlcn2 * sct_per_clst >= sectors) goto out; mlcn və mlcn2 birbaşa boot sektorundan oxunan u64 sahələridir. sct_per_clst yuxarıdan 4096 ilə məhdudlaşdırılıb (true_sectors_per_clst() və onun altındakı is_power_of_2() yoxlaması vasitəsilə), lakin vurma əməliyyatı u64 formatında yerinə yetirilir və mlcn (və ya mlcn2) kifayət qədər böyük olduqda dövr edir (wrap) — məsələn, sct_per_clst == 4 olduqda 2^62-yə yaxın olan mlcn 0-a çevrilir, bu isə istənilən sıfırdan fərqli 'sectors' dəyərindən kiçik olduğu üçün yoxlama ötürülür və yanlış formalaşmış qeyd qəbul edilir. Qəbul edilmiş mlcn daha sonra dəyişdirilmədən burada istifadə olunur: sbi->mft.lbo = mlcn << cluster_bits; Praktikada nəticədə yaranan oxuma əməliyyatları blok səviyyəsində uğursuz olur (grow_buffers()'ın check_mul_overflow() mühafizəsi vasitəsilə sb_bread() NULL qaytarır), buna görə də hazırda bu, daha təhlükəli bir şey kimi deyil, qeyri-adi yerlərdə mount prosesinin uğursuz olması kimi özünü göstərir. Lakin validasiya mərhələsi hələ də yanlışdır və çağıran tərəflərin, əslində heç vaxt qəbul edilməməli olan bir dəyəri tutmaq üçün blok səviyyəsinə güvənməsi üçün heç bir səbəb yoxdur. İki sektor mövqeyini hesablamaq üçün check_mul_overflow() funksiyasından istifadə edin və vurma əməliyyatlarından hər hansı biri dövr etdikdə mount prosesini dayandırın; bu, bölməyə (mlcn >= sectors / sct_per_clst) keçmək əvəzinə mövcud semantikanı (mlcn * sct_per_clst >= sectors) qoruyub saxlayır, çünki bölmə əməliyyatı 'sectors' dəyərinin sct_per_clst-ə bölünməyən kənar hallarda yoxlamanı daha da sərtləşdirərdi. check_*_overflow() üslubu fs/ntfs3/run.c faylında oxşar disk üzərindəki aritmetika üçün ntfs3 tərəfindən artıq istifadə olunan üsuldur.
Necə düzəltmək olar
- Linux Linux8ecb1525a9520acd3d5ea3e2593e487fd9f143ce, f77a8d9fdf58e298b36564a44c27fadc617bdd28, 805cc5554b13d045dce9b03c13eaf015418739fd, dc6d85de7e2656e56e10ff5ba514f2583a4f612b, 169383d8914b8fe03464a83540b5b6de3e7831af, c510c63873103a5da6a498fe537bdb5d6f8d03a2 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| Linux Linux | 82cae269cfa953032fbb8980a7d554d60fb00b17 ≤ v < 8ecb1525a9520acd3d5ea3e2593e487fd9f143ce, 82cae269cfa953032fbb8980a7d554d60fb00b17 ≤ v < f77a8d9fdf58e298b36564a44c27fadc617bdd28, 82cae269cfa953032fbb8980a7d554d60fb00b17 ≤ v < 805cc5554b13d045dce9b03c13eaf015418739fd, 82cae269cfa953032fbb8980a7d554d60fb00b17 ≤ v < dc6d85de7e2656e56e10ff5ba514f2583a4f612b, 82cae269cfa953032fbb8980a7d554d60fb00b17 ≤ v < 169383d8914b8fe03464a83540b5b6de3e7831af, 82cae269cfa953032fbb8980a7d554d60fb00b17 ≤ v < c510c63873103a5da6a498fe537bdb5d6f8d03a2, 5.15 | 8ecb1525a9520acd3d5ea3e2593e487fd9f143ce, f77a8d9fdf58e298b36564a44c27fadc617bdd28, 805cc5554b13d045dce9b03c13eaf015418739fd, dc6d85de7e2656e56e10ff5ba514f2583a4f612b, 169383d8914b8fe03464a83540b5b6de3e7831af, c510c63873103a5da6a498fe537bdb5d6f8d03a2 |
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.