【活用ガイド】

JVNDB-2026-013201

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

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました。usb:gadget:f_ncmのncm_unwrap_ntb()内での最小block_lenの検証に問題がありました。ホストから提供されるNTBヘッダーのblock_lenはntb_maxと比較してチェックされますが、下限は設けられていませんでした。block_lenがopts-ndp_sizeより小さい場合、ndp_index (block_len - opts-ndp_size)の境界チェックでアンダーフローが発生し、非常に大きな符号なし値となります。そのため、ndp_indexがこの値を超えることはなく、チェックが完全に無効化されます。同様のアンダーフローは、datagramインデックスのblock_len - opts-dpe_sizeに対する検査でも発生しました。これらのチェックが無効化された結果、悪意のあるUSBホストはndp_indexやdatagramのオフセットを実際の転送範囲外に設定可能であり、skb_put_data()が隣接するカーネルメモリをネットワークskbにコピーする事態が生じていました。この問題は、NTBヘッダーに加えて1つのNDPを少なくとも保持できるblock_lenのみを受け入れることで修正されました。これにより、block_len - opts-ndp_sizeおよびblock_len - opts-dpe_sizeの両方が適切に定義されるようになりました。関連する問題として、Commit 8d2b1a1ec9f5("CDC-NCM: avoid overflow in sanity checking")がNCMのホスト側で類似の問題を解決しています。
CVSS による深刻度 (CVSS とは?)

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


Linux
  • Linux Kernel 5.9 以上 6.6.136 未満
  • Linux Kernel 6.12 以上 6.12.83 未満
  • Linux Kernel 6.13 以上 6.18.24 未満
  • Linux Kernel 6.19 以上 6.19.14 未満
  • Linux Kernel 7.0 以上 7.0.1 未満

想定される影響

当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。
また、当該ソフトウェアが扱う情報について、書き換えは発生しません。
さらに、当該ソフトウェアが完全に停止する可能性があります。
そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。
対策

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

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

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

  1. CVE-2026-31617
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-31617
  2. 関連文書 : usb: gadget: f_ncm: validate minimum block_len in ncm_unwrap_ntb() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/6762f8a95772265dd0c2ffe7f400493f3115b135)
  3. 関連文書 : usb: gadget: f_ncm: validate minimum block_len in ncm_unwrap_ntb() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/8f993d30b95dc9557a8a96ceca11abed674c8acb)
  4. 関連文書 : usb: gadget: f_ncm: validate minimum block_len in ncm_unwrap_ntb() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/74908b0318d1df1188457040b8714ff4d4b68126)
  5. 関連文書 : usb: gadget: f_ncm: validate minimum block_len in ncm_unwrap_ntb() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/8757a2593631443648218244b9788e193ae0fdc1)
  6. 関連文書 : usb: gadget: f_ncm: validate minimum block_len in ncm_unwrap_ntb() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/0f156bb5334e588034ca68ac2ee92b23f66e56e7)
  7. 関連文書 : usb: gadget: f_ncm: validate minimum block_len in ncm_unwrap_ntb() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/d58ba8f6546232f8414f396c189297dbee03f1a7)
更新履歴

  • [2026年04月30日]
      掲載