CVE-2022-50310 in Linux
요약
\~에 의해 VulDB • 2026. 06. 01.
리눅스 커널에서 다음 취약점이 해결되었습니다:
ip6mr: addrconf_init_net() 호출 실패 시 ip6mr_sk_done() 내 UAF(Use-After-Free) 문제 수정
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 Read of size 4 at addr ffff888075508e88 by task 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
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.