CVE-2024-50099

Yüksək

Təsvir

Linux kernel-də aşağıdakı zəiflik aradan qaldırılmışdır: arm64: probes: Səhv LDR (literal) uprobe dəstəyi çıxarıldı simulate_ldr_literal() və simulate_ldrsw_literal() funksiyalarının uprobes üçün istifadəsi təhlükəsizdir. Hər iki funksiya əslində kprobes ilə istifadə üçün yazılmışdı və yaddaşa adi C girişləri ilə müraciət edirdi. Uprobes əlavə edildikdə, bu funksiyalar istifadəçi yaddaşına təhlükəsiz şəkildə müraciət edə bilməmələrinə baxmayaraq, dəyişiklik edilmədən yenidən istifadə edilmişdi. Üç əsas problem mövcuddur: 1) Adi C girişlərinin müvafiq extable qeydləri yoxdur və buna görə də onlar xəta ilə qarşılaşdıqda, kernel bunu istifadəçi yaddaşına qeyri-ixtiyari müraciət kimi qiymətləndirəcək ki, bu da kernel thread-ini sonlandıracaq BUG() nəticələnəcək və ehtimal ki, daha ciddi problemlərə (məsələn, lockup və ya panic()) səbəb olacaq. 2) Adi C girişləri HW PAN və SW PAN-a tabedir və ona görə də bunlardan hər hansı biri istifadə edildikdə, istifadəçi yaddaşına müraciəti simulyasiya etmək cəhdi xətaya səbəb olacaq. Beləliklə, HW PAN və ya SW PAN olan hər hansı sistemdə istifadəçi təlimatını simulyasiya edərkən nə simulate_ldr_literal(), nə də simulate_ldrsw_literal() faydalı bir iş görə bilmir. 3) Adi C girişləri kernel kontekstində işlədikləri üçün imtiyazlıdır və praktikada kernel virtual ünvanlarının kiçik diapazonuna müraciət edə bilirlər. Simulyasiya etdikləri təlimatlar +/-1MiB diapazonuna malikdir və simulyasiya edilən təlimatlar özü TTBR0 ünvan diapazonunda istifadəçi təlimatı olmalı olduğu üçün, bunlar TTBR0 ünvan diapazonunun ilk 1MiB-dən aşağıya doğru dolanaraq TTBR1 ünvan diapazonunun son 1MiB-nə müraciət edə bilərlər. Müasir kernellərdə TTBR1 ünvan diapazonunun son 8MiB-i rezerv olunub və bura müraciətlər həmişə xəta verəcək, bu isə vəziyyətin (1)-dən daha pis olmadığı anlamına gəlir. Tarixən, xətti xəritənin (linear map) və ya vmemmap-ın TTBR1 ünvan diapazonunun son 8MiB-nə sızması nəzəri cəhətdən mümkün idi, lakin praktikada bunun baş vermə ehtimalı çox azdır, çünki bu aşağıdakılardan birini tələb edərdi: * Bütün xətti xəritəni TTBR1 ünvan diapazonunun son 1MiB-nə qədər doldurmaq üçün kifayət qədər fiziki yaddaşın olması. * Xətti xəritənin KASLR randomizasiyasında elə bədbəxtlikle rastlaşmaq ki, doldurulmuş bölgə TTBR ünvan diapazonunun son 1MiB-i ilə üst-üstə düşsün. ... və hər iki halda, əgər biz son səhifəyə sızsaydıq, son səhifə xəta göstəriciləri (error pointers) ilə eyniləşdiyi üçün daha böyük problemlər yaranardı. Praktiki baxımdan (1) və (2) əsas problemlərdir. Səhv kod tətbiq edildiyi vaxtdan bəri heç bir problem barədə hesabat alınmadığını nəzərə alsaq, görünür ki, heç kim bu təlimatları uprobes ilə yoxlamağa bel bağlamayıb. LDR (literal) və LDRSW (literal) üzərində uprobes-lara icazə verməyərək və simulate_ldr_literal() ilə simulate_ldrsw_literal() funksiyalarının istifadəsini yalnız kprobes ilə məhdudlaşdıraraq bu problemlərin qarşısı alınmışdır. LDR (literal) və LDRSW (literal) üzərində uprobes yerləşdirmək cəhdləri rədd ediləcək, çünki arm_probe_decode_insn() funksiyası INSN_REJECTED qaytaracaq. Gələcəkdə bu təlimatlar üçün işlək uprobes dəstəyinin tətbiqi nəzərdən keçirilə bilər, lakin bu, daha əhatəli iş tələb edəcək.

CiddilikYüksək
CVSS7.3
İstismar ehtimalı—
MəhsulLinux Kernel
Dərc5 noy 2024
İlk görülmə5 noy 2024

Necə düzəltmək olar

Yeniləyin
  • linux linux_kernel4.19.323, 5.4.285, 5.10.228, 5.15.169, 6.1.114, 6.6.58, 6.11.5 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
linux linux_kernel4.10 ≤ v < 4.19.323, 4.20 ≤ v < 5.4.285, 5.5 ≤ v < 5.10.228, 5.11 ≤ v < 5.15.169, 5.16 ≤ v < 6.1.114, 6.2 ≤ v < 6.6.58, 6.7 ≤ v < 6.11.5, 6.124.19.323, 5.4.285, 5.10.228, 5.15.169, 6.1.114, 6.6.58, 6.11.5

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