CVE-2024-46847
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: mm: vmalloc: vmap_block yapısının kuyruğa eklenmeden önce başlatıldığından emin olun 8c61291fd850 numaralı commit ("mm: fix incorrect vbq reference in purge_fragmented_block"), 'vmap_block' yapısını, tahsis sırasında başlatan CPU'nun kimliğine ayarlanan bir 'cpu' alanı içerecek şekilde genişletmiştir. new_vmap_block() tarafından yeni bir 'vmap_block' örneği oluşturulurken, kısmen başlatılmış olan yapı, 'cpu' alanı henüz başlatılmadan yerel 'vmap_block_queue' xarray yapısına eklenmektedir. Eğer başka bir CPU eşzamanlı olarak xarray üzerinde işlem yapıyorsa (örneğin vm_unmap_aliases() aracılığıyla), başlatılmamış bir indeks nedeniyle uzak kuyruğa sınır dışı erişim (out-of-bounds access) gerçekleştirebilir. Bu durum Android'de UBSAN hataları olarak gözlemlenmiştir: | Internal error: UBSAN: array index out of bounds: 00000000f2005512 [#1] PREEMPT SMP | | Call trace: | purge_fragmented_block+0x204/0x21c | _vm_unmap_aliases+0x170/0x378 | vm_unmap_aliases+0x1c/0x28 | change_memory_common+0x1dc/0x26c | set_memory_ro+0x18/0x24 | module_enable_ro+0x98/0x238 | do_init_module+0x1b0/0x310 new_vmap_block() içerisindeki 'vb->cpu' başlatma işlemi, xarray'e ekleme işleminin öncesine taşınmıştır.
Nasıl düzeltilir
- linux linux_kernel6.6.51, 6.10, 6.10.10 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| linux linux_kernel | 6.6.37 ≤ v < 6.6.51, 6.9.8 ≤ v < 6.10, 6.10 ≤ v < 6.10.10, 6.11 | 6.6.51, 6.10, 6.10.10 |
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.