CVE-2025-37922

Orta

Açıklama

Linux kernel'da aşağıdaki güvenlik açığı giderilmiştir: book3s64/radix : Section vmemmap başlangıç adresini PAGE_SIZE ile hizalayın Bir vmemmap altmap'i, struct pages için destekleyici depolama sağlamak amacıyla cihaz tarafından sunulan bir bölgedir. Her ad alanı (namespace) için altmap, aynı ad alanına ait olmalıdır. Ad alanları hizalanmamış şekilde oluşturulursa, section vmemmap başlangıç adresinin de hizalanmamış olma ihtimali vardır. Eğer section vmemmap başlangıç adresi hizalanmamışsa, mevcut ad alanından tahsis edilen altmap sayfası önceki ad alanı tarafından da kullanılabilir. Serbest bırakma işlemi sırasında, altmap iki ad alanı arasında paylaşıldığından, önceki ad alanı sayfanın kendi altmap'ine ait olmadığını tespit edebilir ve hatalı bir şekilde sayfanın normal bir sayfa olduğunu varsayabilir. Ardından normal sayfayı serbest bırakmaya çalışır, bu da çekirdek çökmesine (kernel crash) yol açar. Kernel kullanıcı sayfasını okumaya çalıştı (18) - istismar girişimi mi? (uid: 0) BUG: Kernel NULL pointer dereference on read at 0x00000018 Faulting instruction address: 0xc000000000530c7c Oops: Kernel access of bad area, sig: 11 [#1] LE PAGE_SIZE=64K MMU=Radix SMP NR_CPUS=2048 NUMA pSeries CPU: 32 PID: 2104 Comm: ndctl Kdump: loaded Tainted: G W NIP: c000000000530c7c LR: c000000000530e00 CTR: 0000000000007ffe REGS: c000000015e57040 TRAP: 0300 Tainted: G W MSR: 800000000280b033 <SF,VEC,VSX,EE,FP,ME,IR,DR,RI,LE> CR: 84482404 CFAR: c000000000530dfc DAR: 0000000000000018 DSISR: 40000000 IRQMASK: 0 GPR00: c000000000530e00 c000000015e572e0 c0000000002c5cb00 c00c000101008040 GPR04: 0000000000000000 0000000000000007 0000000000000001 000000000000001f GPR08: 0000000000000005 0000000000000000 0000000000000018 0000000000002000 GPR12: c0000000001d2fb0 c0000060de6b0080 0000000000000000 c0000060dbf90020 GPR16: c00c000101008000 0000000000000001 0000000000000000 c000000125b20f00 GPR20: 0000000000000001 0000000000000000 ffffffffffffffff c00c000101007fff GPR24: 0000000000000001 0000000000000000 0000000000000000 0000000000000000 GPR28: 0000000004040201 0000000000000001 0000000000000000 c00c000101008040 NIP [c000000000530c7c] get_pfnblock_flags_mask+0x7c/0xd0 LR [c000000000530e00] free_unref_page_prepare+0x130/0x4f0 Call Trace: free_unref_page+0x50/0x1e0 free_reserved_page+0x40/0x68 free_vmemmap_pages+0x98/0xe0 remove_pte_table+0x164/0x1e8 remove_pmd_table+0x204/0x2c8 remove_pud_table+0x1c4/0x288 remove_pagetable+0x1c8/0x310 vmemmap_free+0x24/0x50 section_deactivate+0x28c/0x2a0 __remove_pages+0x84/0x110 arch_remove_memory+0x38/0x60 memunmap_pages+0x18c/0x3d0 devm_action_release+0x30/0x50 release_nodes+0x68/0x140 devres_release_group+0x100/0x190 dax_pmem_compat_release+0x44/0x80 [dax_pmem_compat] device_for_each_child+0x8c/0x100 [dax_pmem_compat_remove+0x2c/0x50 [dax_pmem_compat] nvdimm_bus_remove+0x78/0x140 [libnvdimm] device_remove+0x70/0xd0 Diğer bir sorun ise, eğer altmap yoksa, section başlangıç adresinin hizalamasına bakılmaksızın RAM'den PMD boyutunda bir vmemmap sayfası tahsis edilmesidir. Section başlangıç adresi PMD boyutuna göre hizalanmamışsa, PMD boyutundaki sayfa sayfa tablosuna ayarlanırken bir VM_BUG_ON tetiklenecektir. Bu yamada, section vmemmap başlangıç adresini PAGE_SIZE değerine hizalıyoruz. Hizalama sonrası başlangıç adresi mevcut ad alanının parçası olmayacak ve mevcut section'ın vmemmap eşlemesi için normal bir sayfa tahsis edilecektir. Kalan section'lar için altmap'ler tahsis edilecektir. Serbest bırakma işlemi sırasında normal sayfa doğru şekilde serbest bırakılacaktır. Benzer şekilde, PMD_SIZE boyutunda bir vmemmap sayfası yalnızca section başlangıç adresi PMD_SIZE ile hizalıysa tahsis edilecektir; aksi takdirde PAGE boyutunda bir vmemmap tahsisatına geri dönülecektir.

ÖnemOrta
CVSS5.5
İstismar olasılığı—
ÜrünLinux Kernel
Yayın20 May 2025
İlk görülme20 May 2025

Nasıl düzeltilir

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernel6.6 ≤ v < 6.6.90, 6.7 ≤ v < 6.12.28, 6.13 ≤ v < 6.14.6, 6.156.6.90, 6.12.28, 6.14.6

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.

Intelligence 360 paketinde

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.

CVE-2025-37922 · Linux Kernel · Dark Radar