CVE-2020-36789

Orta

Təsvir

Linux kernel-də aşağıdakı zəiflik aradan qaldırılmışdır: can: dev: can_get_echo_skb(): hard IRQ kontekstində kfree_skb() çağırışının qarşısının alınması Əgər drayver aparat IRQ zamanı (hansı ki, çox vaxt belə olur, lakin hər zaman deyil) can_get_echo_skb() funksiyasını çağırarsa, şəbəkə tıxaclanması hallarında net/core/skbuff.c#skb_release_head_state() daxilindəki 'WARN_ON(in_irq)' tetiklene bilər və bu, eyni zamanda NULL göstəricinin istifadəsi (NULL pointer dereference) riskini yaradır. Bu problemin kök səbəbi net/core/dev.c#enqueue_to_backlog() funksiyasında dev_kfree_skb_irq() əvəzinə kfree_skb() funksiyasının çağırılmasıdır. Bu yamaq, skb_get() vasitəsilə onun istinad sayını artırmaqla, netif_rx() çağırışı zamanı skb-nin azad edilməsinin qarşısını alır. skb sonda irq-kontekstinə uyğun olan təhlükəsiz funksiyalardan biri tərəfindən azad edilir: dev_consume_skb_any() və ya dev_kfree_skb_any(). Bəzi drayverlər can_get_echo_skb()-ni normal kontekstdə çağıra bildiyi üçün "any" versiyası istifadə edilmişdir. Bu problemin yaranma səbəbi odur ki, ilkin olaraq əsas şəbəkə stekində loopback skb-lərin aparat IRQ kontekstində qəbul edilməsi nəzərdə tutulmamışdı. CAN steki buna istisnadır. Bu xəta əvvəllər 2017-ci ildə [1]-də bildirilmişdi, lakin təklif olunan yamaq heç vaxt qəbul edilməmişdi. [1] birbaşa net/core/dev.c faylını dəyişdirsə də, biz burada yalnız CAN şəbəkə stekinə aid daha yumşaq bir modifikasiya təklif edirik (buradakı fərziyyə ondan ibarətdir ki, bu problemə yalnız CAN cihazları məruz qalır). [1] http://lore.kernel.org/r/[email protected]

CiddilikOrta
CVSS5.5
İstismar ehtimalı—
MəhsulLinux Kernel
Dərc17 apr 2025
İlk görülmə17 apr 2025

Necə düzəltmək olar

Yeniləyin
  • linux linux_kernel4.4.244, 4.9.244, 4.14.207, 4.19.158, 5.4.78, 5.9.9 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
linux linux_kernel2.6.31 ≤ v < 4.4.244, 4.5 ≤ v < 4.9.244, 4.10 ≤ v < 4.14.207, 4.15 ≤ v < 4.19.158, 4.20 ≤ v < 5.4.78, 5.5 ≤ v < 5.9.9, 5.104.4.244, 4.9.244, 4.14.207, 4.19.158, 5.4.78, 5.9.9

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.