【活用ガイド】

JVNDB-2026-022492

LinuxのLinux Kernelにおける不特定の脆弱性

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました:udp: sockmap の verdict を実行する前に skb->dev をクリアするUDP の受信パスでは、sk_buff 内の union { struct net_device *dev; unsigned long dev_scratch; } を介して、skb->dev は dev_scratch(udp_set_dev_scratch() によって設定される truesize/状態キャッシュ)として再利用されます。UDP ソケットが sockmap にある場合、sk_data_ready は sk_psock_verdict_data_ready() となり、softirq で添付された SK_SKB verdict プログラムを実行するために udp_read_skb() -> recv_actor()(sk_psock_verdict_recv)を呼び出します。そのプログラムがソケット検索ヘルパー(bpf_sk_lookup_tcp/udp、bpf_skc_lookup_tcp)を呼ぶと、bpf_skc_lookup() は次を実行します:\tif (skb->dev)\t\tcaller_net = dev_net(skb->dev);skb->dev には依然として dev_scratch の値(NULL ではない整数)が保持されているため、dev_net() はそれを struct net_device * として参照外しし、softirq 中に非正規アドレスで General Protection Fault が発生します: Oops: general protection fault, probably for non-canonical address 0x1010000800004a0 CPU: 1 UID: 0 PID: 1406 Comm: syz.2.19 Not tainted 7.1.0-rc6 #1 PREEMPT(full) RIP: 0010:bpf_skc_lookup net/core/filter.c:7033 [inline] RIP: 0010:bpf_sk_lookup+0x45/0x160 net/core/filter.c:7047 Call Trace: bpf_prog_4675cb904b7071f8+0x12e/0x14e bpf_prog_run_pin_on_cpu+0xc6/0x1f0 sk_psock_verdict_recv+0x1ba/0x350 udp_read_skb+0x31a/0x370 sk_psock_verdict_data_ready+0x2e3/0x600 __udp_enqueue_schedule_skb+0x4c8/0x650 udpv6_queue_rcv_one_skb+0x3ec/0x740 udp6_unicast_rcv_skb+0x11d/0x140 ip6_protocol_deliver_rcu+0x61e/0x950 ip6_input_finish+0xa9/0x150 NF_HOOK+0x286/0x2f0 ip6_input+0x117/0x220 NF_HOOK+0x286/0x2f0 __netif_receive_skb+0x85/0x200 process_backlog+0x374/0x9a0 __napi_poll+0x4f/0x1c0 net_rx_action+0x3b0/0x770 handle_softirqs+0x15a/0x460 do_softirq+0x57/0x80 dev_scratch が計上していた rmem チャージは、その直前のデキュー時に skb_recv_udp() によって解放されるため、recv_actor() が実行される時点では scratch はすでに無効です。したがって skb->dev をクリアし、bpf_skc_lookup() が sock_net(skb->sk) にフォールバックするようにします。これは直前で skb_set_owner_sk_safe() によって設定されています。
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 7.5 (重要) [その他]
  • 攻撃元区分: ネットワーク
  • 攻撃条件の複雑さ: 低
  • 攻撃に必要な特権レベル: 不要
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): なし
  • 完全性への影響(I): なし
  • 可用性への影響(A): 高
影響を受けるシステム


Linux
  • Linux Kernel 6.0 以上 6.1.176 未満
  • Linux Kernel 6.13 以上 6.18.36 未満
  • Linux Kernel 6.19 以上 7.0.13 未満
  • Linux Kernel 6.2 以上 6.6.143 未満
  • Linux Kernel 6.7 以上 6.12.94 未満
  • Linux Kernel 7.1

想定される影響

・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。
・当該ソフトウェアが扱う情報について、書き換えは発生しません。
・当該ソフトウェアが完全に停止する可能性があります。
対策

リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。
ベンダ情報

CWEによる脆弱性タイプ一覧  CWEとは?

  1. 情報不足(CWE-noinfo) [NVD評価]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-53184
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-53184
  2. 関連文書 : udp: clear skb->dev before running a sockmap verdict - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/263779a6beff03b8b06f6d25566cb0f45af361f2)
  3. 関連文書 : udp: clear skb->dev before running a sockmap verdict - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/7d6d92d000ebe3a845a17c165c1d3a70c5d84fe1)
  4. 関連文書 : udp: clear skb->dev before running a sockmap verdict - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/3c94f241f776562c489876ff506f366224565c21)
  5. 関連文書 : udp: clear skb->dev before running a sockmap verdict - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/6822eed69572000a181fa4e31fceacc60918c471)
  6. 関連文書 : udp: clear skb->dev before running a sockmap verdict - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/1b585673a2249f13678e7ac443ac683ba767e0b6)
  7. 関連文書 : udp: clear skb->dev before running a sockmap verdict - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/90d35188aaa92b8f8b23f66335e0e91bf60103a3)
更新履歴

  • [2026年07月07日]
      掲載