【活用ガイド】

JVNDB-2025-026014

LinuxのLinux Kernelにおけるリソースのロックに関する脆弱性

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました:USB GadgetコアにおけるUVCのアンコンフィギュア時のパニック防止です。Avichal Rakeshは、UVCガジェットドライバがガジェットの構成から削除された際にカーネルパニックが発生する問題を報告しました。このパニックはカーネルドライバとユーザースペースコンポーネント間のやや複雑な相互作用に関連しています(下記リンクタグで説明されています)。解析の結果、ガジェットコアはusb_gadget_deactivate()をアンバインド手続きの一環として呼び出すガジェットドライバに対応すべきであることが明らかになりましたが、現在はこの機能が実装されていません。gadget_unbind_driver()はudc-connect_lockミューテックスを保持したままdriver-unbind()を呼び出し、usb_gadget_deactivate()は同じミューテックスを取得しようとするため、デッドロックを引き起こします。簡単な修正として、gadget_unbind_driver()は-unbind()コールバックを呼び出す際にミューテックスを解放します。その時点でミューテックスを保持する必要はなく、-bind()コールバックの実行中もミューテックスは保持されていません。したがって、アンバインドコールバックの実行前にミューテックスを解放し、その後再取得するように変更しました。また、usb_gadget_activate()とusb_gadget_deactivate()にはいくつかのコメントを追加しました。これらの関数はプロセスコンテキストで実行されるため、割り込みコンテキストで動作する可能性があるガジェットドライバの-disconnect()コールバック(include/linux/usb/gadget.hのusb_gadget_driver構造体のカーネルドキュメントによる参照)から呼び出してはいけません。これにより将来的な類似のバグ発生を防止することが期待されます。
CVSS による深刻度 (CVSS とは?)

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


Linux
  • Linux Kernel 6.1.35 以上 6.1.46 未満
  • Linux Kernel 6.3.9 以上 6.4 未満
  • Linux Kernel 6.4.1 以上 6.4.11 未満
  • Linux Kernel 6.4
  • Linux Kernel 6.5

想定される影響

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

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

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

  1. 不適切なロック(CWE-667) [NVD評価]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2023-53580
参考情報

  1. National Vulnerability Database (NVD) : CVE-2023-53580
  2. 関連文書 : USB: Gadget: core: Help prevent panic during UVC unconfigure - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/8c1edc00db65f6d4408b3d1cd845e8da3b9e0ca4)
  3. 関連文書 : USB: Gadget: core: Help prevent panic during UVC unconfigure - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/bed19d95fcb9c98dfaa9585922b39a2dfba7898d)
  4. 関連文書 : USB: Gadget: core: Help prevent panic during UVC unconfigure - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/65dadb2beeb7360232b09ebc4585b54475dfee06)
更新履歴

  • [2026年02月12日]
      掲載