CVE-2022-49526
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: md/bitmap: tutarlılık kontrolü geçilemezse sb değerlerini ayarlamayın Bitmap alanı geçersiz veri içeriyorsa, kernel çökecek ve ardından mdadm "Segmentation fault" hatası tetikleyecektir. Bu durum cluster-md özelinde bir hatadır. Kümelenmemiş ortamlarda mdadm bozuk meta veri durumunu yönetir. Kümelenmiş dizilerde ise bitmap slot bilgisini yalnızca kernel alanı yönetir. Ancak bu hata sadece kümelenmiş ortamda meydana gelse bile mevcut tutarlılık kontrolü yanlıştır ve kodun değiştirilmesi gerekmektedir. Hatanın tetiklenme yöntemi: (kusur enjeksiyonu) dd if=/dev/zero bs=1M count=1 oflag=direct of=/dev/sda dd if=/dev/zero bs=1M count=1 oflag=direct of=/dev/sdb mdadm -C /dev/md0 -b clustered -e 1.2 -n 2 -l mirror /dev/sda /dev/sdb mdadm -Ss echo aaa > magic.txt == aşağıda slot 2 bitmap verisi değiştiriliyor == dd if=magic.txt of=/dev/sda seek=16384 bs=1 count=3 <== magic yok ediliyor dd if=/dev/zero of=/dev/sda seek=16436 bs=1 count=4 <== chunksize SIFIRLANIYOR mdadm -A /dev/md0 /dev/sda /dev/sdb == kernel çöküyor. mdadm "Segmentation fault" çıktısı veriyor == Kernel çökme nedeni: md_bitmap_create tarafından çağrılan md_bitmap_read_sb fonksiyonunda, hatalı bitmap magic değeri chunksize atamasını engellememiştir ve sıfır değeri DIV_ROUND_UP_SECTOR_T() fonksiyonunun "divide error" (bölme hatası) tetiklemesine neden olmuştur. Çökme günlüğü: kernel: md: md0 stopped. kernel: md/raid1:md0: not clean -- starting background reconstruction kernel: md/raid1:md0: active with 2 out of 2 mirrors kernel: dlm: ... ... kernel: md-cluster: Joined cluster 44810aba-38bb-e6b8-daca-bc97a0b254aa slot 1 kernel: md0: invalid bitmap file superblock: bad magic kernel: md_bitmap_copy_from_slot can't get bitmap from slot 2 kernel: md-cluster: Could not gather bitmaps from slot 2 kernel: divide error: 0000 [#1] SMP NOPTI kernel: CPU: 0 PID: 1603 Comm: mdadm Not tainted 5.14.6-1-default kernel: Hardware name: QEMU Standard PC (i440FX + PIIX, 1996) kernel: RIP: 0010:md_bitmap_create+0x1d1/0x850 [md_mod] kernel: RSP: 0018:ffffc22ac0843ba0 EFLAGS: 00010246 kernel: ... ... kernel: Call Trace: kernel: ? dlm_lock_sync+0xd0/0xd0 [md_cluster 77fe..7a0] kernel: md_bitmap_copy_from_slot+0x2c/0x290 [md_mod 24ea..d3a] kernel: load_bitmaps+0xec/0x210 [md_cluster 77fe..7a0] kernel: md_bitmap_load+0x81/0x1e0 [md_mod 24ea..d3a] kernel: do_md_run+0x30/0x100 [md_mod 24ea..d3a] kernel: md_ioctl+0x1290/0x15a0 [md_mod 24ea....d3a] kernel: ? mddev_unlock+0xaa/0x130 [md_mod 24ea..d3a] kernel: ? blkdev_ioctl+0xb1/0x2b0 kernel: block_ioctl+0x3b/0x40 kernel: __x64_sys_ioctl+0x7f/0xb0 kernel: do_syscall_64+0x59/0x80 kernel: ? exit_to_user_mode_prepare+0x1ab/0x230 kernel: ? syscall_exit_to_user_mode+0x18/0x40 kernel: ? do_syscall_64+0x69/0x80 kernel: entry_SYSCALL_64_after_hwframe+0x44/0xae kernel: RIP: 0033:0x7f4a15fa722b kernel: ... ... kernel: ---[ end trace 8afa7612f559c868 ]--- kernel: RIP: 0010:md_bitmap_create+0x1d1/0x850 [md_mod]
Nasıl düzeltilir
- linux linux_kernel4.19.247, 5.4.198, 5.10.121, 5.15.46, 5.17.14, 5.18.3 ya da sonraki bir sürüm
- git.kernel.org/stable/c/0959aa00f9765bd8c654b1365012e41b51c733cc
- git.kernel.org/stable/c/27f672af28a8e9b783ff7f0eaf7ef2fbd5a2f4ba
- git.kernel.org/stable/c/422e8f7ba1e08c8e0e88d375bcb550bc2bbfe96d
- git.kernel.org/stable/c/cf9392282a2cf5a8d83dd1c5aa1a097e12f172bc
- git.kernel.org/stable/c/d8f1558e1daf54f53a90b4c5700ae3e3a4b13412
- git.kernel.org/stable/c/e68cb83a57a458b01c9739e2ad9cb70b04d1e6d2
- git.kernel.org/stable/c/e69e93120f6219b9cc4fba3b515b6ababd8548aa
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| linux linux_kernel | v < 4.19.247, 4.20 ≤ v < 5.4.198, 5.5 ≤ v < 5.10.121, 5.11 ≤ v < 5.15.46, 5.16 ≤ v < 5.17.14, 5.18 ≤ v < 5.18.3 | 4.19.247, 5.4.198, 5.10.121, 5.15.46, 5.17.14, 5.18.3 |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.