CVE-2026-93048
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılmışdır: mtd: part: mtd_add_partition() funksiyasında MTDPART_OFS_RETAIN rədd edilir mtd_add_partition() xüsusi offset dəyəri olan MTDPART_OFS_RETAIN (-3)-i rədd etmir, bu isə NAND cihazlarında BLKPG ioctl vasitəsilə çağırıldıqda add_mtd_device() funksiyasında WARN_ON xətasına səbəb olur. RETAIN dəyəri cur_offset-in əvvəlki bölmənin sonu olmasına əsaslanır, lakin dinamik bölmə yolunda cur_offset arqumentin özünə bərabərdir və bu da təyin olunmamış davranışa (undefined behavior) səbəb olur. Commit 5daa7b21496a ("mtd: prepare partition add and del functions for ioctl requests") mtd_add_partition() funksiyasını tətbiq etmiş və MTDPART_OFS_APPEND (-1) ilə MTDPART_OFS_NXTBLK (-2) dəyərlərini düzgün şəkildə rədd etmişdir, çünki həmin xüsusi offsetlər cur_offset-in əvvəlki bölmənin sonunu izləməsinə əsaslanır. Lakin daha sonra commit 1a31368bf92e ("mtd: add a flags for partitions which should just leave smth. after them") statik bölmə cədvəli yolu üçün MTDPART_OFS_RETAIN (-3) dəyərini əlavə etmiş, lakin mtd_add_partition() funksiyasını bu dəyəri də rədd edəcək şəkildə yeniləməmişdir. BLKPG vasitəsilə ötürülən offset=-3 dəyəri ilə allocate_partition() daxilində RETAIN ölçüsü hesablaması underflow-ya səbəb olur (parent_size - 0xFFFFFFFFFFFFFFFD = parent_size + 3). Əgər underflow nəticəsi kifayət qədər boş yer qalmadığını göstərirsə, allocate_partition() goto vasitəsilə out_register hissəsinə keçir və erasesize inisializasiyasını ötürür. Bu, erasesize=0 nəticəsinə gətirib çıxarır və add_mtd_device() funksiyasında aşağıdakını tetiklir: WARN_ON((!mtd->erasesize || !master->_erase) && !(mtd->flags & MTD_NO_ERASE)) Əgər underflow nəticəsi kifayət qədər boş yer qaldığını göstərirsə, yanlış bölmə ölçüsü hesablanır, lakin "out of reach" yoxlaması etibarsız offset-i aşkar edir və xəta qaytarmaq əvəzinə deaktiv edilmiş boş bir bölmə (offset=0, size=0) yaradır. Bu problem, APPEND və NXTBLK-nın mövcud idarəetməsi ilə uyğun olaraq, mtd_add_partition() funksiyasındakı rədd siyahısına MTDPART_OFS_RETAIN dəyərinin əlavə edilməsi ilə düzəldilmişdir.
Necə düzəltmək olar
- Linux Linux701c3ae7273e1adc20db5d97c42e0139b479f16b, 6aaab2ace3f7b55733d904e5549acf8405f03642, 181c1bff940e7d3e34ca485d37e3cdbfe409203c, a536eb57be58442b19398b2783071007ecfb1735, e204e5c49a012f99638633fdbd773e3c86260053, 398aca2f90122d5abbabff1079deaeb885fe9e40, c645f6dd1af2ecc70fd3578e141f2f71fa9e4eff, b759d5bb6265419344ee9729fd0dc07ad85719d8 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| Linux Linux | 1a31368bf92ef2a7da3ba379672c405bd2751df9 ≤ v < 701c3ae7273e1adc20db5d97c42e0139b479f16b, 1a31368bf92ef2a7da3ba379672c405bd2751df9 ≤ v < 6aaab2ace3f7b55733d904e5549acf8405f03642, 1a31368bf92ef2a7da3ba379672c405bd2751df9 ≤ v < 181c1bff940e7d3e34ca485d37e3cdbfe409203c, 1a31368bf92ef2a7da3ba379672c405bd2751df9 ≤ v < a536eb57be58442b19398b2783071007ecfb1735, 1a31368bf92ef2a7da3ba379672c405bd2751df9 ≤ v < e204e5c49a012f99638633fdbd773e3c86260053, 1a31368bf92ef2a7da3ba379672c405bd2751df9 ≤ v < 398aca2f90122d5abbabff1079deaeb885fe9e40, 1a31368bf92ef2a7da3ba379672c405bd2751df9 ≤ v < c645f6dd1af2ecc70fd3578e141f2f71fa9e4eff, 1a31368bf92ef2a7da3ba379672c405bd2751df9 ≤ v < b759d5bb6265419344ee9729fd0dc07ad85719d8, 3.2 | 701c3ae7273e1adc20db5d97c42e0139b479f16b, 6aaab2ace3f7b55733d904e5549acf8405f03642, 181c1bff940e7d3e34ca485d37e3cdbfe409203c, a536eb57be58442b19398b2783071007ecfb1735, e204e5c49a012f99638633fdbd773e3c86260053, 398aca2f90122d5abbabff1079deaeb885fe9e40, c645f6dd1af2ecc70fd3578e141f2f71fa9e4eff, b759d5bb6265419344ee9729fd0dc07ad85719d8 |
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.