Linuxカーネルにおいて、以下の脆弱性が修正されました。openvswitchのcap upcall PID配列サイズの制限とvport返信の事前サイズ設定に関する問題です。vportのnetlink返信ヘルパーはnlmsg_new(NLMSG_DEFAULT_SIZE, ...)で固定サイズのskbを割り当てますが、ovs_vport_get_upcall_portids()では完全なupcall PID配列をシリアライズします。ovs_vport_set_upcall_portids()はsizeof(u32)の非ゼロ倍で上限なしの値を受け入れるため、CAP_NET_ADMIN権限を持つユーザーは返信バッファをオーバーフローさせるほど大きなPID配列をインストールできます。その結果、nla_put()が-EMSGSIZEで失敗し、BUG_ON(err 0)が発生します。特権のないユーザーネームスペースが有効なシステム(例:Ubuntuのデフォルト設定)では、OVS vport変更操作がGENL_UNS_ADMIN_PERMを使用するため、unshare -Urn経由でこの問題に到達可能です。kernel BUGはnet/openvswitch/datapath.cの2414行目で発生し、CPU 1で例外が起きています。この問題を解決するため、ovs_vport_set_upcall_portids()ではnr_cpu_ids以上のPID設定試行を拒否します。また、ovs_vport_cmd_msg_size()では既存のovs_dp_cmd_msg_size()に類似した方式で、その上限に基づく最悪サイズの返信を事前計算します。nr_cpu_idsはデータパス側のper-CPUディスパッチ設定で既に使用されているキャップと一致し(ovs_dp_cmd_fill_info()は最大nr_cpu_idsのPIDをシリアライズします)、両側の整合性を保っています。
Linux Linux Kernel 3.17 以上 5.10.258 未満 Linux Kernel 5.11 以上 5.15.209 未満 Linux Kernel 5.16 以上 6.1.175 未満 Linux Kernel 6.13 以上 6.18.33 未満 Linux Kernel 6.19 以上 7.0.10 未満 Linux Kernel 6.2 以上 6.6.141 未満 Linux Kernel 6.7 以上 6.12.91 未満
・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 ・当該ソフトウェアが扱う情報について、書き換えは発生しません。 ・当該ソフトウェアが完全に停止する可能性があります。
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。
情報不足(CWE-noinfo) [NVD評価]
CVE-2026-45840
National Vulnerability Database (NVD) : CVE-2026-45840 関連文書 : openvswitch: cap upcall PID array size and pre-size vport replies - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/fa6e90bc443bed8dc0d55bc5ea5b27ffdfe37704) 関連文書 : openvswitch: cap upcall PID array size and pre-size vport replies - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/2091c6aa0df6aba47deb5c8ab232b1cb60af3519) 関連文書 : openvswitch: cap upcall PID array size and pre-size vport replies - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/d9e47e29aacb9f8a9d59feb6ab5b128a9bbb40b0) 関連文書 : openvswitch: cap upcall PID array size and pre-size vport replies - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/8d59b80e69dddb665eb2de36e62859ab2073470e) 関連文書 : openvswitch: cap upcall PID array size and pre-size vport replies - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/b39f763d720d623218bc1d95ace6855d7b474e81) 関連文書 : openvswitch: cap upcall PID array size and pre-size vport replies - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/1d6c02b86329883aa467a3a61f8d34369db73a2f) 関連文書 : openvswitch: cap upcall PID array size and pre-size vport replies - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/f99ac36b5d7c719d08a69fcdecce40f78a874e15) 関連文書 : openvswitch: cap upcall PID array size and pre-size vport replies - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/f9ef3db77a383d66847fd082c2b437d8ae4d9c63)
[2026年06月29日] 掲載