CVE-2024-40950

Orta

Təsvir

Linux kernel-də aşağıdakı zəiflik aradan qaldırılmışdır: mm: huge_memory: anon foliolarda yanlış istifadə edilən mapping_large_folio_support() funksiyasının düzəldilməsi Böyük foliolara bölünmə testi zamanı "[ 5059.122759][ T166] Cannot split file folio to non-0 order" XƏBƏRDARLIĞI yarandı. Lakin test hallarında yalnız anonim foliolardan istifadə olunur, halbuki mapping_large_folio_support() yalnız səhifə keşinin (page cache) folioları üçün məqsədəuyğundur. split_huge_page_to_list_to_order() funksiyasında mapping_large_folio_support()-ə ötürülən folio anonim folio ola bilər. Burada folio_test_anon() yoxlaması çatışmırdı, buna görə də anonim THP-nin bölünməsi uğursuz olurdu. Eyni vəziyyət shmem_mapping() üçün də keçərlidir. Hər ikisi üçün yoxlama əlavə etmək daha yaxşıdır. Lakin __split_huge_page() daxilindəki shmem_mapping() prosesə cəlb olunmur, çünki anonim foliolar üçün 'end' parametri -1 olaraq təyin edilir, beləliklə (head[i].index >= end) ifadəsi həmişə yanlış (false) olur və shmem_mapping() çağırılmır. Həmçinin, yanlış istifadəni daha asan aşkar etmək üçün mapping_large_folio_support() funksiyasına anonim mapping üçün VM_WARN_ON_ONCE() əlavə edildi. Fayl sistemi böyük folionu dəstəkləməsə belə, səhifə keşində THP folioları mövcud ola bilər; bunun səbəbi CONFIG_TRANSPARENT_HUGEPAGE aktiv olduqda, khugepaged-in yalnız oxunaqlı fayl əsaslı səhifələri THP-yə birləşdirməyə çalışmasıdır. Lakin mapping faktiki olaraq çoxlu sıra nizamlı (multi order) böyük folioları düzgün şəkildə dəstəkləmir. Bu, /sys/kernel/debug/split_huge_pages vasitəsilə yoxlanılmışdır; bu yamama ilə böyük anonim THP uğurla bölünür və xəbərdarlıq dayanır.

CiddilikOrta
CVSS5.5
İstismar ehtimalı—
MəhsulLinux Kernel
Dərc12 iyl 2024
İlk görülmə12 iyl 2024

Necə düzəltmək olar

Yeniləyin
  • linux linux_kernel6.9.7 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
linux linux_kernel6.9 ≤ v < 6.9.7, 6.106.9.7

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.

Intelligence 360 paketində

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.

CVE-2024-40950 · Linux Kernel · Dark Radar