CVE-2021-47636
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: ubifs: ubifs_wbuf_write_nolock() funksiyasında sərhədləri aşan oxuma (read out-of-bounds) xətası düzəldildi ubifs_wbuf_write_nolock() funksiyası aşağıdakı proses zamanı buf-a sərhədlərdən kənar giriş edə bilər: ubifs_wbuf_write_nolock(): aligned_len = ALIGN(len, 8); // Fərz edək ki, len = 4089, aligned_len = 4096 if (aligned_len <= wbuf->avail) ... // Ödənmir if (wbuf->used) { ubifs_leb_write() // avail wbuf-da bəzi məlumatları doldurur len -= wbuf->avail; // len hələ də 8 bayta uyğunlaşdırılmayıb aligned_len -= wbuf->avail; } n = aligned_len >> c->max_write_shift; if (n) { n <<= c->max_write_shift; err = ubifs_leb_write(c, wbuf->lnum, buf + written, wbuf->offs, n); // n > len, 8(n-len) baytdan az miqdarda sərhədləri aşan oxuma baş verir } Bu vəziyyət KASAN tərəfindən aşkar edilə bilər: ========================================================= BUG: KASAN: slab-out-of-bounds in ecc_sw_hamming_calculate+0x1dc/0x7d0 Read of size 4 at addr ffff888105594ff8 by task kworker/u8:4/128 Workqueue: writeback wb_workfn (flush-ubifs_0_0) Call Trace: kasan_report.cold+0x81/0x165 nand_write_page_swecc+0xa9/0x160 ubifs_leb_write+0xf2/0x1b0 [ubifs] ubifs_wbuf_write_nolock+0x421/0x12c0 [ubifs] write_head+0xdc/0x1c0 [ubifs] ubifs_jnl_write_inode+0x627/0x960 [ubifs] wb_workfn+0x8af/0xb80 ubifs_wbuf_write_nolock() funksiyası 'len' parametrinin 8 bayta uyğunlaşdırılmadığını qəbul edir; 'len' buf-ın əsl uzunluğunu təmsil edir (hansı ki, 'ubifs_jnl_xxx', məsələn, ubifs_jnl_write_inode daxilində ayrılır), buna görə də ubifs_wbuf_write_nolock() leb-i təhlükəsiz şəkildə yazmaq üçün 'buf'-dan oxunan uzunluğu diqqətlə idarə etməlidir. Reproduser faylını [Link] ünvanından əldə edin.
Necə düzəltmək olar
- linux linux_kernel4.19.238, 5.4.189, 5.10.110, 5.15.33, 5.16.19, 5.17.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 | 2.6.27 ≤ v < 4.19.238, 4.20 ≤ v < 5.4.189, 5.5 ≤ v < 5.10.110, 5.11 ≤ v < 5.15.33, 5.16 ≤ v < 5.16.19, 5.17 ≤ v < 5.17.2 | 4.19.238, 5.4.189, 5.10.110, 5.15.33, 5.16.19, 5.17.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.