CVE-2021-46936
Təsvir
Linux kernelində aşağıdakı zəiflik aradan qaldırılıb: net: tw_timer_handler-də istifadədən sonra azad etmə (use-after-free) problemi düzəldilib Linux 5.4-də aşağıdakı real dünya panik problemi aşkar edilib. BUG: unable to handle page fault for address: ffffde49a863de28 PGD 7e6fe62067 P4D 7e6fe62067 PUD 7e6fe63067 PMD f51e064067 PTE 0 RIP: 0010:tw_timer_handler+0x20/0x40 Call Trace: <IRQ> call_timer_fn+0x2b/0x120 run_timer_softirq+0x1ef/0x450 __do_softirq+0x10d/0x2b8 irq_exit+0xc7/0xd0 smp_apic_timer_interrupt+0x68/0x120 apic_timer_interrupt+0xf/0x20 Bu problem həmçinin 2017-ci ildən bəri [1] mövzusunda bildirilib, təəssüf ki, DCCP düzəldildikdən sonra da problem yenə də təkrar yaradıla bilirdi. Şəbəkə ad məkanı məhv edildikdə tcp_sk_exit_batch-dən əvvəl ipv4_mib_exit_net çağırılır, çünki tcp_sk_ops ipv4_mib_ops-dan əvvəl qeydiyyatdan keçib, bu isə o deməkdir ki, pernet_list siyahısında tcp_sk_ops ipv4_mib_ops-un qarşısındadır. Əgər bəzi uçuşda olan time-wait taymerləri varsa, ipv4_mib_exit_net-dən sonra tw_timer_handler-də net->mib.net_statistics üzərində istifadədən sonra azad etmə (use-after-free) baş verəcək. Bu səhv f2bf415cfed7 commit-i ("mib: add net to NET_ADD_STATS_BH") tərəfindən təqdim edilməyib, çünki net_statistics dinamik ayrılma və azad etmə əvəzinə qlobal dəyişəndir. Əslində, 61a7e26028b9 commit-i ("mib: put net statistics on struct net") bu səhvi təqdim edir, çünki o, net statistikasını struct net üzərinə qoyur və şəbəkə ad məkanı məhv edildikdə onu azad edir. Bu səhvi düzəltmək üçün init_ipv4_mibs()-i tcp_init()-in qarşısına köçürmək və init_ipv4_mibs() uğursuz olduqda davam etmək mənasız olduğundan pr_crit()-i panic() ilə əvəz etmək tələb olunur. [1] https://groups.google.com/g/syzkaller/c/p1tn-_Kc6l4/m/smuL_FMAAgAJ?pli=1
Necə düzəltmək olar
- linux linux_kernel4.4.298, 4.9.296, 4.14.261, 4.19.224, 5.4.170, 5.10.90, 5.15.13 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.27 ≤ v < 4.4.298, 4.5.0 ≤ v < 4.9.296, 4.10.0 ≤ v < 4.14.261, 4.15.0 ≤ v < 4.19.224, 4.20.0 ≤ v < 5.4.170, 5.5.0 ≤ v < 5.10.90, 5.11.0 ≤ v < 5.15.13 | 4.4.298, 4.9.296, 4.14.261, 4.19.224, 5.4.170, 5.10.90, 5.15.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.
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.