CVE-2026-53062
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: dm cache siyasəti smq: keş bloklarının etibarsızlaşdırılması zamanı çatışmayan kilidlərin düzəldilməsi Passthrough rejimində siyasətin invalidate_mapping əməliyyatı eyni vaxtda bir neçə worker tərəfindən çağırılır, buna görə də kilidlə qorunmalıdır. Əks halda, ayrılmış bloklar sayğacında data yarışları və ya paralel yazmalar zamanı daxili data strukturları ilə use-after-free problemləri yarana bilər. Qeyd edək ki, smq_invalidate_mapping() funksiyasındakı mövcud FIXME passthrough rejiminə təsir etmir, çünki orada miqrasiya tapşırıqları yoxdur, lakin hədəf yenidən yüklənmədən suspend/resume vasitəsilə cihazın sürətli kiçildilməsini dəstəkləmək lazım gələrsə, diqqət tələb edərdi. Təkrar istehsal addımları: 1. 1024 keş qeydindən ibarət keş cihazı yaradın dmsetup create cmeta --table "0 8192 linear /dev/sdc 0" dmsetup create cdata --table "0 131072 linear /dev/sdc 8192" dmsetup create corig --table "0 262144 linear /dev/sdc 262144" dd if=/dev/zero of=/dev/mapper/cmeta bs=4k count=1 oflag=direct dmsetup create cache --table "0 262144 cache /dev/mapper/cmeta \ /dev/mapper/cdata /dev/mapper/corig 128 2 metadata2 writethrough smq 0" 2. Keşi doldurun və keşlənmiş blokların sayını qeyd edin fio --name=populate --filename=/dev/mapper/cache --rw=randwrite --bs=4k \ --size=64m --direct=1 nr_cached=$(dmsetup status cache | awk '{split($7, a, "/"); print a[1]}') 3. Keşi passthrough rejiminə yenidən yükləyin dmsetup suspend cache dmsetup reload cache --table "0 262144 cache /dev/mapper/cmeta \ /dev/mapper/cdata /dev/mapper/corig 128 2 metadata2 passthrough smq 0" dmsetup resume cache 4. Passthrough keşinə yazın. I/O ölçüsü keş blokunun ölçüsünə bərabər olan bir neçə job təyin etməklə keş blokları müxtəlif worker-lər tərəfindən eyni vaxtda etibarsızlaşdırılır. fio --filename=/dev/mapper/cache --name=test --rw=randwrite --bs=64k \ --direct=1 --numjobs=2 --randrepeat=0 --size=64m 5. Demoted sayının keşlənmiş blokların sayına uyğun olub-olmadığını yoxlayın. Bu rəqəmlər uyğun gəlməlidir, lakin data yarışı səbəbindən fərqlənə bilər. nr_demoted=$(dmsetup status cache | awk '{print $12}') echo "$nr_cached, $nr_demoted"
Necə düzəltmək olar
- linux linux_kernel5.10.258, 5.15.209, 6.1.175, 6.6.141, 6.12.91, 6.18.33, 7.0.10 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 | 4.12 ≤ v < 5.10.258, 5.11 ≤ v < 5.15.209, 5.16 ≤ v < 6.1.175, 6.2 ≤ v < 6.6.141, 6.7 ≤ v < 6.12.91, 6.13 ≤ v < 6.18.33, 6.19 ≤ v < 7.0.10 | 5.10.258, 5.15.209, 6.1.175, 6.6.141, 6.12.91, 6.18.33, 7.0.10 |
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.