CVE-2020-36789
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]
Necə düzəltmək olar
- 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əhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| linux linux_kernel | 2.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.10 | 4.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.
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.