CVE-2022-50780 in Linux
요약
\~에 의해 VulDB • 2026. 06. 29.
리눅스 커널에서 다음 취약점이 해결되었습니다:
net: ops_init() 실패 시 nfqnl_nf_hook_drop()에서의 UAF(Use-After-Free) 문제 수정
ops_init() 인터페이스를 호출하여 네트워크 네임스페이스(net)를 초기화하려고 하지만, ops->init()이 실패하는 경우 데이터가 해제됩니다. 그러나 net->gen 내의 ptr 포인터는 유효하지 않게 됩니다. 이 상태에서 nfqnl_nf_hook_drop()을 호출하여 네트워크 리소스를 해제하면 잘못된 주소에 접근하게 됩니다.
작동 과정은 다음과 같습니다: setup_net() ops_init() data = kzalloc(...) ---> "data" 할당 net_assign_generic() ---> net->gen 내의 ptr에 "date"(주: data 오타로 보임) 할당 ... ops->init() ---> 실패 ... kfree(data); ---> net->gen 내의 ptr이 유효하지 않음 ... ops_exit_list() ... nfqnl_nf_hook_drop() *q = nfnl_queue_pernet(net) ---> q가 유효하지 않음
다음은 Call Trace 정보입니다: BUG: KASAN: use-after-free in nfqnl_nf_hook_drop+0x264/0x280 Read of size 8 at addr ffff88810396b240 by task ip/15855 Call Trace: <TASK> dump_stack_lvl+0x8e/0xd1 print_report+0x155/0x454 kasan_report+0xba/0x1f0 nfqnl_nf_hook_drop+0x264/0x280 nf_queue_nf_hook_drop+0x8b/0x1b0 __nf_unregister_net_hook+0x1ae/0x5a0 nf_unregister_net_hooks+0xde/0x130 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 </TASK>
작업 15855에 의해 할당됨: kasan_save_stack+0x1e/0x40 kasan_set_track+0x21/0x30 __kasan_kmalloc+0xa1/0xb0 __kmalloc+0x49/0xb0 ops_init+0xe7/0x410 setup_net+0x5aa/0xbd0 copy_net_ns+
If you want to get best quality of vulnerability data, you may have to visit VulDB.