CVE-2022-50780 in Linux
Tóm tắt
Bởi VulDB • 30/06/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
net: sửa lỗi UAF (Use-After-Free) trong hàm nfqnl_nf_hook_drop() khi ops_init() thất bại
Khi giao diện ops_init() được gọi để khởi tạo mạng nhưng ops->init() gặp lỗi, dữ liệu bị giải phóng. Tuy nhiên, con trỏ ptr trong net->gen trở thành không hợp lệ. Trong trường hợp này, khi hàm nfqnl_nf_hook_drop() được gọi để giải phóng tài nguyên mạng, sẽ xảy ra truy cập vào địa chỉ không hợp lệ.
Quy trình diễn ra như sau: setup_net() ops_init() data = kzalloc(...) ---> cấp phát "data" net_assign_generic() ---> gán "date" cho ptr trong net->gen ... ops->init() ---> thất bại ... kfree(data); ---> ptr trong net->gen trở thành không hợp lệ ... ops_exit_list() ... nfqnl_nf_hook_drop() *q = nfnl_queue_pernet(net) ---> q là giá trị không hợp lệ
Dưới đây là thông tin Call Trace: BUG: KASAN: use-after-free trong nfqnl_nf_hook_drop+0x264/0x280 Đọc kích thước 8 tại địa chỉ ffff88810396b240 bởi tiến trình 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>
Được cấp phát bởi tiến trình 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+0x2e6/0x6b0
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.