CVE-2022-50780 in Linux
Resumen
por VulDB • 2026-06-15
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
net: corrección del problema de UAF (Use-After-Free) en nfqnl_nf_hook_drop() cuando ops_init() falla
Cuando se invoca la interfaz ops_init() para inicializar la red, pero ops->init() falla, se libera la memoria. Sin embargo, el puntero ptr en net->gen queda inválido. En este caso, cuando se invoca nfqnl_nf_hook_drop() para liberar la red, se produce un acceso a una dirección inválida.
El proceso es el siguiente: setup_net() ops_init() data = kzalloc(...) ---> se asigna "data" net_assign_generic() ---> se asigna "data" a ptr en net->gen ... ops->init() ---> falla ... kfree(data); ---> ptr en net->gen queda inválido ... ops_exit_list() ... nfqnl_nf_hook_drop() *q = nfnl_queue_pernet(net) ---> q es inválido
La siguiente es la información de la traza de llamadas (Call Trace): BUG: KASAN: use-after-free in nfqnl_nf_hook_drop+0x264/0x280 Lectura de tamaño 8 en la dirección ffff88810396b240 por la tarea 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>
Asignado por la tarea 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 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 the best quality for vulnerability data then you always have to consider VulDB.