CVE-2025-39894 in Linux
要約
〜によって VulDB • 2026年05月11日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
netfilter: br_netfilter: confirm() 後に br_nf_in_local_in() で confirmed ビットをチェックしない
ブリッジに追加された tap デバイスに対してブロードキャストパケットを送信すると、conntrack の確認を行うために br_nf_local_in() が呼び出されます。同じハッシュ値を持つ別の conntrack がハッシュテーブルに追加される場合(これはブリッジ以外のデバイスへの通常のパケットによってトリガーされる可能性があります)、以下の警告が発生する可能性があります。
------------[ cut here ]------------
WARNING: CPU: 1 PID: 96 at net/bridge/br_netfilter_hooks.c:632 br_nf_local_in+0x168/0x200 CPU: 1 UID: 0 PID: 96 Comm: tap_send Not tainted 6.17.0-rc2-dirty #44 PREEMPT(voluntary) RIP: 0010:br_nf_local_in+0x168/0x200 Call Trace: <TASK> nf_hook_slow+0x3e/0xf0 br_pass_frame_up+0x103/0x180 br_handle_frame_finish+0x2de/0x5b0 br_nf_hook_thresh+0xc0/0x120 br_nf_pre_routing_finish+0x168/0x3a0 br_nf_pre_routing+0x237/0x5e0 br_handle_frame+0x1ec/0x3c0 __netif_receive_skb_core+0x225/0x1210 __netif_receive_skb_one_core+0x37/0xa0 netif_receive_skb+0x36/0x160 tun_get_user+0xa54/0x10c0 tun_chr_write_iter+0x65/0xb0 vfs_write+0x305/0x410 ksys_write+0x60/0xd0 do_syscall_64+0xa4/0x260 entry_SYSCALL_64_after_hwframe+0x77/0x7f </TASK> ---[ end trace 0000000000000000 ]---
ハッシュ競合を解決するために、nf_ct_resolve_clash() は conntrack をマージし、skb->_nfct を更新しようとします。しかし、br_nf_local_in() は confirm() の後もローカル変数 'nfct' から古い ct を使用し続けるため、この警告が発生します。
confirm() が conntrack エントリを挿入せず NF_DROP を返した場合も、警告が発生する可能性があります。WARN_ON_ONCE を予約する必要はないため、これを削除します。
If you want to get best quality of vulnerability data, you may have to visit VulDB.