CVE-2025-21991
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: x86/microcode/AMD: CPU içermeyen NUMA düğümlerine sahip sistemlerde sınır dışı erişim hatası düzeltildi Şu anda load_microcode_amd(), tüm NUMA düğümleri üzerinde döngü kurmakta, bunların CPU maskelerini almakta ve her maskenin ilk CPU'su için koşulsuz olarak işlemci başına (per-CPU) verilere erişmektedir. Documentation/admin-guide/mm/numaperf.rst belgesine göre: "Bazı bellekler bir CPU ile aynı düğümü paylaşabilir ve diğerleri yalnızca bellek düğümleri olarak sağlanır." Bu nedenle, bazı düğüm CPU maskeleri boş olabilir ve bir "ilk CPU"ya sahip olmayabilir. Uzak belleğe (ve dolayısıyla CPU içermeyen NUMA düğümlerine) sahip bir makinede: - cpumask_of_node(nid) değeri 0'dır - cpumask_first(0) değeri CONFIG_NR_CPUS'tur - cpu_data(CONFIG_NR_CPUS), cpu_info per-CPU dizisine sınırların 1 ötesindeki bir indeksten erişir Microcode yüklemek ayrıcalıklı bir işlem olduğu için bunun herhangi bir güvenlik etkisi yoktur ancak microcode güncellemesi yüklenirken potansiyel olarak belleğin bozulması nedeniyle güvenilirlik etkileri olduğunu düşünüyorum. Bir AMD makinesinde microcode güncellemesi yükleyerek CONFIG_UBSAN_BOUNDS=y ile önyükleme yapıldığında şu hata alınmaktadır: UBSAN: array-index-out-of-bounds in arch/x86/kernel/cpu/microcode/amd.c:X:Y index 512 is out of range for type 'unsigned long[512]' [...] Call Trace: dump_stack __ubsan_handle_out_of_bounds load_microcode_amd request_microcode_amd reload_store kernfs_fop_write_iter vfs_write ksys_write do_syscall_64 entry_SYSCALL_64_after_hwframe İlgili düğümdeki ilk CPU'nun microcode güncellemesine ihtiyaç duyup duymadığı belirlenmeden önce, döngünün yalnızca CPU içeren NUMA düğümleri üzerinden geçecek şekilde değiştirilmesi sağlanmıştır. [ bp: Commit mesajı düzenlendi, yazım hatası düzeltildi. ]
Nasıl düzeltilir
- linux linux_kernel4.15, 4.20, 5.5, 5.11, 5.16, 6.1.132, 6.6.84, 6.12.20, 6.13.8 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 | 4.14.308 ≤ v < 4.15, 4.19.276 ≤ v < 4.20, 5.4.235 ≤ v < 5.5, 5.10.173 ≤ v < 5.11, 5.15.99 ≤ v < 5.16, 6.1.16 ≤ v < 6.1.132, 6.2.3 ≤ v < 6.6.84, 6.7 ≤ v < 6.12.20, 6.13 ≤ v < 6.13.8, 6.14 | 4.15, 4.20, 5.5, 5.11, 5.16, 6.1.132, 6.6.84, 6.12.20, 6.13.8 |
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.