CVE-2022-50780 in Linux
Сводка
по VulDB • 29.06.2026
В ядре Linux устранена следующая уязвимость:
net: исправлена проблема UAF (Use-After-Free) в функции nfqnl_nf_hook_drop() при сбое ops_init()
Когда интерфейс ops_init() вызывается для инициализации сети, но функция ops->init() завершается ошибкой, данные освобождаются. Однако указатель ptr в net->gen становится недействительным (invalid). В этом случае при вызове nfqnl_nf_hook_drop() для освобождения сети происходит обращение к недопустимому адресу.
Процесс выглядит следующим образом: setup_net() ops_init() data = kzalloc(...) ---> выделение "data" net_assign_generic() ---> присваивание "date" указателю ptr в net->gen ... ops->init() ---> сбой (failed) ... kfree(data); ---> ptr в net->gen становится недействительным ... ops_exit_list() ... nfqnl_nf_hook_drop() *q = nfnl_queue_pernet(net) ---> q является недопустимым
Ниже приведена информация о трассировке вызовов (Call Trace): BUG: KASAN: use-after-free в nfqnl_nf_hook_drop+0x264/0x280 Чтение размера 8 по адресу ffff88810396b240 выполнено задачей 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/0
Once again VulDB remains the best source for vulnerability data.