CVE-2026-23352
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: x86/efi: boot xidmətləri yaddaşının azad edilməsinin təxirə salınması efi_free_boot_services() funksiyası EFI_BOOT_SERVICES_CODE və EFI_BOOT_SERVICES_DATA tərəfindən tutulan yaddaşı memblock_free_late() vasitəsilə azad edir. Bununla bağlı iki problem mövcuddur: memblock_free_late() funksiyası memblock_alloc() ilə ayrılmış yaddaş üçün istifadə edilməlidir, memblock_reserve() ilə rezerv edilmiş yaddaş isə free_reserved_area() ilə azad edilməlidir. Daha kritik olan odur ki, CONFIG_DEFERRED_STRUCT_PAGE_INIT=y konfiqurasiyası ilə efi_free_boot_services() funksiyası yaddaş xəritəsinin gecikdirilmiş inisializasiyası tamamlanmamışdan əvvəl çağırılır. Benjamin Herrenschmidt bildirir ki, bu, yalnız 512MB RAM-a malik olan EC2 t3a.nano instansiyalarında təxminən 140MB RAM sızmasına səbəb olur. Əgər azad edilən yaddaş hələ də inisializasiya olunmamış yaddaş xəritəsi sahələrində yerləşirsə, onlar faktiki olaraq azad edilməyəcək, çünki memblock_free_late() funksiyası memblock_free_pages() funksiyasını çağırır və sonuncu isə inisializasiya olunmamış səhifələri ötürür. Bu mərhələdə free_reserved_area() istifadə etmək də problemlidir, çünki __free_page() azad edilmiş səhifənin buddy-sinə müraciət edir və bu, yenidən yaddaş xəritəsinin inisializasiya olunmamış hissəsinə düşə bilər. Bütün efi_free_boot_services() prosesinin təxirə salınması problemli ola bilər, çünki o, boot xidmətləri yaddaşını azad etməklə yanaşı, heç bir sinxronizasiya olmadan efi.memmap-ı yeniləyir və bu, konkurentliyin olduğu boot prosesinin son mərhələlərində arzuolunmazdır. Daha etibarlı yanaşma yalnız EFI boot xidmətləri yaddaşının azad edilməsini təxirə salmaqdır. efi_free_boot_services() iki hissəyə bölündü. İlk öncə efi_unmap_boot_services() azad edilməli olan diapazonları massivdə toplayır, daha sonra efi_free_boot_services() gecikdirilmiş inisializasiya tamamlandıqdan sonra onları azad edir.
Necə düzəltmək olar
- linux linux_kernel5.10.253, 5.15.203, 6.1.167, 6.6.130, 6.12.77, 6.18.17, 6.19.7 və ya daha yeni versiya
- git.kernel.org/stable/c/227688312fece0026fc67a00ba9a0b3611ebe95d
- git.kernel.org/stable/c/399da820ecfe6f4f10c143e5c453d3559a04db9c
- git.kernel.org/stable/c/4a2cb90c538f06c873a187aa743575d48685d7a6
- git.kernel.org/stable/c/6a25e25279282c5c8ade554c04c6ab9dc7902c64
- git.kernel.org/stable/c/6d8ba221e7aafaa2f284b7d22faee814c28e009d
- git.kernel.org/stable/c/7131bd1fecc749bc94fb44aae217bbd8a8a85264
- git.kernel.org/stable/c/7dcf59422a3b0d20ddda844f856b4a1e0608a326
- git.kernel.org/stable/c/a4b0bf6a40f3c107c67a24fbc614510ef5719980
- git.kernel.org/stable/c/f9e9cc320854a76a39e7bc92d144554f3a727fad
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| linux linux_kernel | 3.0.1 ≤ v < 5.10.253, 5.11 ≤ v < 5.15.203, 5.16 ≤ v < 6.1.167, 6.2 ≤ v < 6.6.130, 6.7 ≤ v < 6.12.77, 6.13 ≤ v < 6.18.17, 6.19 ≤ v < 6.19.7, 2.6.39.1, 3.0, 7.0 | 5.10.253, 5.15.203, 6.1.167, 6.6.130, 6.12.77, 6.18.17, 6.19.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.
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.