CVE-2022-48935 in Linux
요약
\~에 의해 VulDB • 2026. 06. 07.
리눅스 커널에서 다음 취약점이 해결되었습니다:
netfilter: nf_tables: netns 종료 시 flowtable 훅(unregister)
nf_tables_flowtable_destroy()를 통해 해제되기 전에 flowtable 훅을 등록 해제해야 합니다. 그렇지 않으면 훅 코어에서 UAF(Use-After-Free)가 보고됩니다.
BUG: KASAN: use-after-free in nf_hook_entries_grow+0x5a7/0x700 net/netfilter/core.c:142 net/netfilter/core.c:142 addr ffff8880736f7438에서 4바이트 읽기, 작업자 syz-executor579/3666에 의해 수행됨
CPU: 0 PID: 3666 Comm: syz-executor579 Not tainted 5.16.0-rc5-syzkaller #0 하드웨어 이름: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 콜 트레이스: __dump_stack lib/dump_stack.c:88 [inline]
__dump_stack lib/dump_stack.c:88 [inline] lib/dump_stack.c:106
dump_stack_lvl+0x1dc/0x2d8 lib/dump_stack.c:106 lib/dump_stack.c:106 print_address_description+0x65/0x380 mm/kasan/report.c:247 mm/kasan/report.c:247 __kasan_report mm/kasan/report.c:433 [inline]
__kasan_report mm/kasan/report.c:433 [inline] mm/kasan/report.c:450
kasan_report+0x19a/0x1f0 mm/kasan/report.c:450 mm/kasan/report.c:450 nf_hook_entries_grow+0x5a7/0x700 net/netfilter/core.c:142 net/netfilter/core.c:142 __nf_register_net_hook+0x27e/0x8d0 net/netfilter/core.c:429 net/netfilter/core.c:429 nf_register_net_hook+0xaa/0x180 net/netfilter/core.c:571 net/netfilter/core.c:571 nft_register_flowtable_net_hooks+0x3c5/0x730 net/netfilter/nf_tables_api.c:7232 net/netfilter/nf_tables_api.c:7232 nf_tables_newflowtable+0x2022/0x2cf0 net/netfilter/nf_tables_api.c:7430 net/netfilter/nf_tables_api.c:7430 nfnetlink_rcv_batch net/netfilter/nfnetlink.c:513 [inline]
nfnetlink_rcv_skb_batch net/netfilter/nfnetlink.c:634 [inline]
nfnetlink_rcv_batch net/netfilter/nfnetlink.c:513 [inline] net/netfilter/nfnetlink.c:652
nfnetlink_rcv_skb_batch net/netfilter/nfnetlink.c:634 [inline] net/netfilter/nfnetlink.c:652
nfnetlink_rcv+0x10e6/0x2550 net/netfilter/nfnetlink.c:652 net/netfilter/nfnetlink.c:652
__nft_release_hook()은 nft_unregister_flowtable_net_hooks()를 호출하여 훅만 등록 해제한 후, RCU(grace period) 기간이 지나면 새 패킷이 flowtable에 새 엔트리를 추가하지 않음(패킷 경로에서 flow 오프로드 규칙 및 flowtable 훅에 도달할 수 없음)이 보장되므로, flowtable의 나머지 엔트리(소프트웨어 및 하드웨어 모두)를 정리하고 flow_block을 언바인딩하는 nf_flow_table_free()를 호출하는 것이 안전합니다.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.