CVE-2021-46910

Yüksək

Təsvir

Linux kernelində aşağıdakı zəiflik aradan qaldırılıb: ARM: 9063/1: mm: DEBUG_KMAP_LOCAL aktiv olduqda maksimum CPU sayını azalt kmap_local() üçün sazlama kodu, kmap_local() üçün ayrılmış hər-CPU fixmap slotlarının sayını ikiqat artırır ki, onların yarısını qoruyucu regionlar kimi istifadə etsin. Bu, dəstəklənən CPU sayı böyük olduqda fixmap regionunun öz ayrılmış pəncərəsinin başlanğıcından aşağıya doğru böyüməsinə və birbaşa altında yeni əlavə edilmiş virtual DT xəritələşdirməsi ilə toqquşmasına səbəb olur ki, bu da açıq-aydın yaxşı deyil. Bunun bir təzahürü NR_CPUS=32 və CONFIG_DEBUG_KMAP_LOCAL=y ilə qurulmuş kernelin EFI yüklənməsidir ki, bu zaman FDT yüksək yaddaşda (highmem) ötürülə bilər, nəticədə fixmap regionunun altında fixmap cədvəli qeydləri kimi səhv müəyyən edilən blok qeydləri yaranır və sonradan yalnız aşağı yaddaş (lowmem) üçün etibarlı olan fiziki-virtual çevirmə ilə istinad edilməyə cəhd edilir. Bu, aşağıdakı kimi anlaşılmaz xəta çıxışı ilə nəticələnir. ftrace: allocating 45548 entries in 89 pages 8<--- cut here --- Unable to handle kernel paging request at virtual address fc6006f0 pgd = (ptrval) [fc6006f0] *pgd=80000040207003, *pmd=00000000 Internal error: Oops: a06 [#1] SMP ARM Modules linked in: CPU: 0 PID: 0 Comm: swapper Not tainted 5.11.0+ #382 Hardware name: Generic DT based system PC is at cpu_ca15_set_pte_ext+0x24/0x30 LR is at __set_fixmap+0xe4/0x118 pc : [<c041ac9c>] lr : [<c04189d8>] psr: 400000d3 sp : c1601ed8 ip : 00400000 fp : 00800000 r10: 0000071f r9 : 00421000 r8 : 00c00000 r7 : 00c00000 r6 : 0000071f r5 : ffade000 r4 : 4040171f r3 : 00c00000 r2 : 4040171f r1 : c041ac78 r0 : fc6006f0 Flags: nZcv IRQs off FIQs off Mode SVC_32 ISA ARM Segment none Control: 30c5387d Table: 40203000 DAC: 00000001 Process swapper (pid: 0, stack limit = 0x(ptrval)) Beləliklə, CONFIG_DEBUG_KMAP_LOCAL=y olduqda CONFIG_NR_CPUS-u 16 ilə məhdudlaşdıraq. Həmçinin, bunu tutmalı olan BUILD_BUG_ON() yoxlamasını düzəldək: regionun son ünvandan yuxarı deyil, başlanğıc ünvandan aşağı böyüdüyünü yoxlayaq.

CiddilikYüksək
CVSS7.0
İstismar ehtimalı—
MəhsulLinux Kernel
Dərc27 fev 2024
İlk görülmə27 fev 2024

Necə düzəltmək olar

Yeniləyin
  • linux linux_kernel5.11.16 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
linux linux_kernel5.11.0 ≤ v < 5.11.165.11.16

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-2021-46910 · Linux Kernel · Dark Radar