CVE-2022-48980

Yüksək

Təsvir

Linux kernelində aşağıdakı zəiflik aradan qaldırılıb: net: dsa: sja1105: sja1105_init_l2_policing() funksiyasında sərhədlərdən kənara çıxan girişin qarşısını al SJA1105 ailəsində 45 L2 policing cədvəl qeydi (SJA1105_MAX_L2_POLICING_COUNT), SJA1110-da isə 110 (SJA1110_MAX_L2_POLICING_COUNT) qeyd var. Cədvəl strukturunu saxlayaraq port sayındakı fərqi (SJA1105-də 5, SJA1110-da 10) nəzərə almaq fərqi tam izah etmir. Daha doğrusu, SJA1110-da multicast trafiki üçün də L2 giriş policer-ləri var. Əgər paket multicast kimi təsnif edilirsə, o, 99 + SRCPORT indeksli policer tərəfindən emal olunacaq. sja1105_init_l2_policing() funksiyası bütün L2 policer-ləri elə işə salır ki, onlar standart olaraq normal paket qəbuluna mane olmasın. SJA1105 və SJA1110 arasında ümumi kodun olması üçün port üçün multicast policer-in indeksi hesablanır, çünki bu indeks SJA1105 üçün sərhədlərdən kənardadır, SJA1110 üçün isə sərhədlər daxilindədir və sərhəd yoxlaması aparılır. Kod SJA1105-də (ds->num_ports = 5) 0-cı portun multicast policer-i ilə nə ediləcəyini təyin edərkən düzgün hərəkət etmir. "mcast" indeksi 45-ə bərabər olacaq ki, bu da table->ops->max_entry_count (SJA1105_MAX_L2_POLICING_COUNT) dəyərinə bərabərdir. Beləliklə, o, yoxlamadan keçir. Lakin eyni zamanda SJA1105-də multicast policer-lər yoxdur. Beləliklə, kod statik konfiqurasiyanın L2 Policing cədvəlində sərhədlərdən kənar elementin SHARINDX sahəsini proqramlaşdırır. 45 indeksi ilə 45 qeyd arasındakı müqayisə kodun SJA1105-də bu policer indeksinə müraciət etməməsini müəyyən etməli idi, çünki onun yaddaşı hətta ayrılmamışdı. Kifayət qədər bəxtsizlik olduqda, sərhədlərdən kənara yazma digər etibarlı kernel məlumatlarının üzərinə də yaza bilərdi, lakin bu halda problem KASAN istifadə edilərək aşkar edildi. Kernel jurnalı: sja1105 spi5.0: Probed switch chip: SJA1105Q ================================================================== BUG: KASAN: slab-out-of-bounds in sja1105_setup+0x1cbc/0x2340 Write of size 8 at addr ffffff880bd57708 by task kworker/u8:0/8 ... Workqueue: events_unbound deferred_probe_work_func Call trace: ... sja1105_setup+0x1cbc/0x2340 dsa_register_switch+0x1284/0x18d0 sja1105_probe+0x748/0x840 ... Allocated by task 8: ... sja1105_setup+0x1bcc/0x2340 dsa_register_switch+0x1284/0x18d0 sja1105_probe+0x748/0x840 ...

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_kernel5.15.83, 6.0.13 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
linux linux_kernel5.14 ≤ v < 5.15.83, 5.16 ≤ v < 6.0.13, 6.15.15.83, 6.0.13

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