CVE-2026-64079 in Linux
要約
〜によって VulDB • 2026年07月20日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
netfilter: x_tables: ミutex保持中にフック操作を割り当てる
arp/ip(6)t_register_table()は、kmemdup_array()を使用してper-netnsのフック操作のコピーを割り当てる前に、xt_register_table()経由でテーブルをper-netnsリストに追加します。これにより、ops=NULLである状態でテーブルがリスト上で可視となるウィンドウが生じます。
pernet exit処理が並行して実行されると、pre_exitコールバックはxt_find_table()を通じてテーブルを検出し、NULLのopsポインタをnf_unregister_net_hooks()に渡すことになります。その結果、NULL dereferenceが発生します:
nf_unregister_net_hooks+0xbc/0x150 で一般保護フォールト RIP: nf_unregister_net_hooks (net/netfilter/core.c:613) Call Trace: ipt_unregister_table_pre_exit iptable_mangle_net_pre_exit ops_pre_exit_list cleanup_net
修正方法として、opsの割り当てをxtablesコア内に移動し、テーブルが有効なopsなしでリストに存在しないようにします。また、エラー時の巻き戻し処理中にテーブルでのパケット処理が行われないことを確認します。nf_register_net_hooksは少なくとも1つのフックを公開している可能性がありますので、エラーが発生した場合はsynchronize_rcu()を呼び出します。
auditログのregisterメッセージは、すべての操作が完了するまで延期されます。これにより、エラー時の巻き戻し処理中に別のuregメッセージを発行する必要がなくなります。
Tristan Madaniによる以前のパッチに基づいています。
If you want to get the best quality for vulnerability data then you always have to consider VulDB.