【活用ガイド】

JVNDB-2026-028057

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

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました。usb: gadget: uvcに関して、uvc_function_bind内のXU走査中にopts->lockを保持しない問題があります。具体的には、uvc_function_bind()はopts->lockを保持せずにopts->extension_unitsを2回走査しています。 - 1回目はiExtension文字列ディスクリプタの修正ループで直接的に行い、 - 2回目はuvc_copy_descriptors()を通じて間接的に4回(各スピードごとに1回)行っています。 このヘルパー関数はuvc->desc.extension_units(&opts->extension_unitsのエイリアス)を走査してXUディスクリプタのサイズ計算と出力を行います。configfs側(drivers/usb/gadget/function/uvc_configfs.cのuvcg_extension_makeおよびuvcg_extension_drop)ではlist_add_tailとlist_del操作時にopts->lockを取得しています。特権のあるユーザースペースプロセスがconfigfsのサブツリーをオープンした状態で、関数をバインドするためにgadget UDC名を書き込みつつ、同時にextensionsサブディレクトリをrmdir()する状況では、uvcg_extension_drop()とバインド時のリスト走査が競合し、解放済みのstruct uvcg_extensionをデリファレンスする恐れがあります。そこで、XU文字列ディスクリプタの修正開始から最後のuvc_copy_descriptors()呼び出しまでopts->lockを保持し、ディスクリプタエラー時の経路では新たにerror_unlockラベルを設けてロックを解放してから既存のerrorラベルに流すようにしました。これにより、configfsコールバックのロック運用と整合し、バインド時にXUリストを非同期に読み取る唯一の箇所を排除しています。到達可能性については、configfsをマウントしgadget UDCファイルに書き込み可能な特権プロセスのみがこの競合を発生させ得るため、本修正はセキュリティ境界ではなく整合性向上のための修正です。
CVSS による深刻度 (CVSS とは?)

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


Linux
  • Linux Kernel 6.13 以上 6.18.35 未満
  • Linux Kernel 6.19 以上 7.0.12 未満
  • Linux Kernel 6.3 以上 6.6.143 未満
  • Linux Kernel 6.7 以上 6.12.93 未満
  • Linux Kernel 7.1

想定される影響

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

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

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

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

  1. CVE-2026-64233
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-64233
  2. 関連文書 : usb: gadget: uvc: hold opts->lock across XU walks in uvc_function_bind - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/5f1b9cff88982e2a2053d8b1fd983f7ccb9f03cc)
  3. 関連文書 : usb: gadget: uvc: hold opts->lock across XU walks in uvc_function_bind - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/e15c414092b3c24610cc771e481a723b0f645eca)
  4. 関連文書 : usb: gadget: uvc: hold opts->lock across XU walks in uvc_function_bind - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/68aa70648b625fa684bc0b71bbfd905f4943ca20)
  5. 関連文書 : usb: gadget: uvc: hold opts->lock across XU walks in uvc_function_bind - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/caec0145e5974e85fe5192fc6a6f5aa1a98f82a6)
  6. 関連文書 : usb: gadget: uvc: hold opts->lock across XU walks in uvc_function_bind - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/2c9e0905ef7e69f7b814cd709613f6b3b5b98805)
更新履歴

  • [2026年08月13日]
      掲載