CVE-2024-49861

Yüksək

Təsvir

Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: bpf: read-only map-lərə köməkçi yazmalarının düzəldilməsi Lonial müəyyən edib ki, istifadəçi və BPF tərəfindən dondurulmuş BPF map (məsələn, .rodata halında olduğu kimi) olmasına baxmayaraq, arqument kimi ARG_PTR_TO_{LONG,INT} olan xüsusi köməkçilər vasitəsilə BPF proqramı tərəfindən hələ də ona yazmaq mümkün idi. check_func_arg() funksiyasında arqument qeyd olunduğu kimi olduqda, meta->raw_mode heç vaxt təyin edilmir. Sonradan check_helper_mem_access() funksiyasında, registr baza tipi kimi PTR_TO_MAP_VALUE halında, check_map_access_type() funksiyasına sonrakı çağırış üçün BPF_READ fərz edilir və BPF map-in read-only olmasını nəzərə alaraq bu uğurla nəticələnir. Köməkçilər nəticələr onlardan oxunmaq əvəzinə onlara yazıldıqda həqiqətən ARG_PTR_TO_{LONG,INT} | MEM_UNINIT kimi işarələnməlidir. Sonuncu göstərir ki, başlanğıc dəyəri verilməmiş yaddaşa göstərici ötürmək icazəlidir, çünki yaddaşa hər halda yazılır. Lakin ARG_PTR_TO_{LONG,INT} yalnız əlavə düzləndirmə tələbi ilə ARG_PTR_TO_FIXED_SIZE_MEM-in xüsusi halıdır. Buna görə də ARG_PTR_TO_{LONG,INT} xüsusi hallarından tamamilə xilas olmaq və sabit ölçülü yaddaş tiplərini yenidən istifadə etmək daha yaxşıdır. Bunun üçün MEM_ALIGNED əlavə edilir ki, bu köməkçilər *<ptr> = val vasitəsilə birbaşa arqumentlərə yazdığından düzləndirmə də təmin edilsin. .arg*_size faktiki sizeof(*<ptr>) əks etdirərək işə salınıb. MEM_ALIGNED yalnız MEM_FIXED_SIZE ilə işarələnmiş arqument tipləri ilə birlikdə istifadə edilə bilər, çünki !MEM_FIXED_SIZE hallarında verifikator buferin ölçüsünü əvvəlcədən bilmir və buna görə də kor-koranə *<ptr> = val yaza bilməz.

CiddilikYüksək
CVSS7.8
İstismar ehtimalı—
MəhsulLinux Kernel
Dərc21 okt 2024
İlk görülmə21 okt 2024

Necə düzəltmək olar

Yeniləyin
  • linux linux_kernel6.6.54, 6.10.13, 6.11.2 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
linux linux_kernel5.2 ≤ v < 6.6.54, 6.7 ≤ v < 6.10.13, 6.11 ≤ v < 6.11.26.6.54, 6.10.13, 6.11.2

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