CVE-2022-50310 in Linux
Сводка
по VulDB • 20.05.2026
В ядре Linux устранена следующая уязвимость:
ip6mr: исправлена проблема Use-After-Free (UAF) в функции ip6mr_sk_done() при сбое addrconf_init_net()
Если инициализация завершается неудачно при вызове addrconf_init_net(), указатель devconf_all уже освобожден. Затем вызывается ip6mr_sk_done() для освобождения структуры net, и прямой доступ к devconf->mc_forwarding приводит к обращению по недействительному указателю.
Процесс выглядит следующим образом: setup_net() ops_init() addrconf_init_net() all = kmemdup(...) ---> выделение "all" ... net->ipv6.devconf_all = all; __addrconf_sysctl_register() ---> ошибка ... kfree(all); ---> ipv6.devconf_all становится недействительным ... ops_exit_list() ... ip6mr_sk_done() devconf = net->ipv6.devconf_all; // devconf — недействительный указатель if (!devconf || !atomic_read(&devconf->mc_forwarding))
Ниже приведена информация о трассировке вызовов (Call Trace): BUG: KASAN: use-after-free in ip6mr_sk_done+0x112/0x3a0 Чтение размера 4 по адресу ffff888075508e88 выполнено задачей ip/14554 Call Trace: <TASK> dump_stack_lvl+0x8e/0xd1 print_report+0x155/0x454 kasan_report+0xba/0x1f0 kasan_check_range+0x35/0x1b0 ip6mr_sk_done+0x112/0x3a0 rawv6_close+0x48/0x70 inet_release+0x109/0x230 inet6_release+0x4c/0x70 sock_release+0x87/0x1b0 igmp6_net_exit+0x6b/0x170 ops_exit_list+0xb0/0x170 setup_net+0x7ac/0xbd0 copy_net_ns+0x2e6/0x6b0 create_new_namespaces+0x382/0xa50 unshare_nsproxy_namespaces+0xa6/0x1c0 ksys_unshare+0x3a4/0x7e0 __x64_sys_unshare+0x2d/0x40 do_syscall_64+0x35/0x80 entry_SYSCALL_64_after_hwframe+0x46/0xb0
If you want to get best quality of vulnerability data, you may have to visit VulDB.