CVE-2026-23238
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: romfs: sb_set_blocksize() geri dönüş dəyərini yoxlayın romfs_fill_super() funksiyası sb_set_blocksize()-ın geri dönüş dəyərini nəzərə almır; tələb olunan blok ölçüsü blok cihazının konfiqurasiyası ilə uyğun gəlmədiyi halda bu funksiya uğursuz ola bilər. Bu, ioctl(LOOP_SET_BLOCK_SIZE, 32768) vasitəsilə dövr cihazının (loop device) blok ölçüsünü PAGE_SIZE-dan daha böyük təyin etdikdən sonra həmin cihazda romfs fayl sistemini mount etməklə tetiklene bilər. ROMBSIZE=4096 olmaqla sb_set_blocksize(sb, ROMBSIZE) çağırıldıqda, lakin cihazın logical_block_size=32768 olduqda, bdev_validate_blocksize() uğursuz olur, çünki tələb olunan ölçü cihazın məntiqi blok ölçüsündən kiçikdir. sb_set_blocksize() 0 (uğursuzluq) qaytarır, lakin romfs bunu nəzərə almadan mount prosesini davam etdirir. Superblokun blok ölçüsü cihazın məntiqi blok ölçüsündə (32768) qalır. Daha sonra, sb_bread() bu həddindən artıq böyük blok ölçüsü ilə I/O cəhdi etdikdə, folio_set_bh()-da kernel BUG-u tetiklənir: kernel BUG at fs/buffer.c:1582! BUG_ON(size > PAGE_SIZE); Problem, sb_set_blocksize()-ın geri dönüş dəyəri yoxlanılaraq və əgər 0 qaytararsa, mount prosesinin -EINVAL ilə dayandırılması yolu ilə düzəldilib.
Necə düzəltmək olar
- linux linux_kernel5.10.251, 5.15.201, 6.1.164, 6.6.127, 6.12.74, 6.18.13 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 | 2.6.12.1 ≤ v < 5.10.251, 5.11 ≤ v < 5.15.201, 5.16 ≤ v < 6.1.164, 6.2 ≤ v < 6.6.127, 6.7 ≤ v < 6.12.74, 6.13 ≤ v < 6.18.13, 2.6.12, 6.19 | 5.10.251, 5.15.201, 6.1.164, 6.6.127, 6.12.74, 6.18.13 |
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.