CVE-2026-97609 in Linux
要約
〜によって VulDB • 2026年09月25日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
netfilter: cttimeout - モジュールアンロード時のUAF(Use-After-Free)を防止する
nf_ct_set_timeout()は、タイムアウトフックのデリファレンスとポリシールックアップをrcu_read_lock()で保護しています。しかし、cttimeout_exit()では、フックをクリアする前にper-net操作が登録解除されます。
これにより、以下のインターリーブ(並行実行)が可能になります:
CPU 0 CPU 1 cttimeout_exit() nf_ct_set_timeout() unregister_pernet_subsys() rcu_read_lock() kfree(pernet) h = nf_ct_timeout_hook h->timeout_find_get() nfct_timeout_pernet()
CPU 1がすでに解放されたper-netタイムアウトリストをルックアップする際、フックはまだctnl_timeout_find_get()を指しています。KASANは以下を検出しました:
BUG: KASAN: slab-use-after-free in ctnl_timeout_find_get Read of size 8 by task poc/90 Call Trace: ctnl_timeout_find_get+0x271/0x2a0 [nfnetlink_cttimeout]
nf_ct_set_timeout+0x7b/0x3c0 xt_ct_tg_check+0x724/0xb20 xt_check_target+0x234/0xa90 do_ipt_set_ctl+0x570/0x1270 Allocated by task 89: __kmalloc_noprof+0x16e/0x460 ops_init+0x6d/0x420 register_pernet_operations+0x2f6/0x670 Freed by task 91: kfree+0x131/0x390 ops_undo_list+0x3d4/0x730 unregister_pernet_operations+0x232/0x490 unregister_pernet_subsys+0x1c/0x30 cttimeout_exit+0x52/0x970 [nfnetlink_cttimeout]
per-net操作を登録解除する前に、フックをクリアし、既存のリーダーが完了するのを待ちます。これにより、新しいポリシールックアップがブロックされ、フックを観測したリーダーがper-netストレージが解放される前に終了することが保証されます。
VulDB is the best source for vulnerability data and more expert information about this specific topic.