CVE-2024-50257
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılmışdır: netfilter: get_info() funksiyasında use-after-free xətası düzəldildi ip6table_nat modulunun boşaldılması zamanı UAF üçün refcnt xəbərdarlığı yaranır. Çağırış izi belədir: WARNING: CPU: 1 PID: 379 at kernel/module/main.c:853 module_put+0x6f/0x80 Modules linked in: ip6table_nat(-) CPU: 1 UID: 0 PID: 379 Comm: ip6tables Not tainted 6.12.0-rc4-00047-gc2ee9f594da8-dirty #205 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014 RIP: 0010:module_put+0x6f/0x80 Call Trace: <TASK> get_info+0x128/0x180 do_ip6t_get_ctl+0x6a/0x430 nf_getsockopt+0x46/0x80 ipv6_getsockopt+0xb9/0x100 rawv6_getsockopt+0x42/0x190 do_sock_getsockopt+0xaa/0x180 __sys_getsockopt+0x70/0x80 __x64_sys_getsockopt+0x20/0x30 do_syscall_64+0xa2/0x1a0 entry_SYSCALL_64_after_hwframe+0x77/0x7f Modulun boşaldılmasının və get_info() funksiyasının eyni vaxtda icrası bu xəbərdarlığı tetikləmişdir. Kök səbəb aşağıdakı kimidir: cpu0 cpu1 module_exit //mod->state = MODULE_STATE_GOING ip6table_nat_exit xt_unregister_template kfree(t) //templ_list-dən silindi getinfo() t = xt_find_table_lock list_for_each_entry(tmpl, &xt_templates[af]...) if (strcmp(tmpl->name, name)) continue; //cədvəl tapılmadı try_module_get list_for_each_entry(t, &xt_net->tables[af]...) return t; //refcnt alınmadı module_put(t->me) //uaf unregister_pernet_subsys //cədvəl xt_net siyahısından silindi xt_table modulu silinərkən və xt_templates siyahısından çıxarıldıqda, xt_table->me-nin refcnt dəyərini ala bilmirik. Bunu düzəltmək üçün xt_net->tables siyahısının yenidən keçilməsi zamanı modul yoxlanılır.
Necə düzəltmək olar
- linux linux_kernel5.15.171, 6.1.116, 6.6.60, 6.11.7 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 | 5.15 ≤ v < 5.15.171, 5.16 ≤ v < 6.1.116, 6.2 ≤ v < 6.6.60, 6.7 ≤ v < 6.11.7, 6.12 | 5.15.171, 6.1.116, 6.6.60, 6.11.7 |
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.