【活用ガイド】

JVNDB-2026-032031

LinuxのLinux Kernelにおける解放済みメモリの使用に関する脆弱性

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました。usb: gadget: udc: gadget_match_driverにおけるUse-After-Freeの脆弱性です。udc構造体はgadgetの管理構造体として機能しますが、それぞれのライフサイクルは分離されています。usb_del_gadget()がudcのメモリを解放(例えば、mode-switch作業経由)している間に、gadget_match_driver()が同時に解放済みのudcメモリにアクセス(例えばconfigfs経由)するという競合状態が存在し、これによってUse-After-Free(UAF)が発生します。解放されたメモリがゼロクリアされているため、NULLポインタの参照違反が発生します。[39430.908615][ T1171] 仮想アドレス0000000000000000でカーネルのNULLポインタ参照違反が発生しました。[39430.911397][ T1171] pc : __pi_strcmp+0x20/0x140[39430.911441][ T1171] lr : gadget_match_driver+0x34/0x60...[39430.911890][ T1171] usb_gadget_register_driver_owner+0x50/0xf8[39430.911910][ T1171] gadget_dev_desc_UDC_store+0xf4/0x140[39430.931308][ T1171] configfs_write_iter+0xec/0x134[39430.957058][ T1171] ワークキュー: events_freezable __dwc3_set_mode[39430.957287][ T1171] dwc3_gadget_exit+0x34/0x8c[39430.957304][ T1171] __dwc3_set_mode+0xc0/0x664。この問題は、gadgetが解放されるまでudc構造体を確実に確保し続けることで修正されました。これを実現するために、新たにusb_gadget_release()ルーチンをコアに導入しました。gadgetが追加される際、usb_add_gadget()はgadgetのreleaseルーチンをudc構造体に保存し、udcの参照カウントを増やします。gadgetが解放されると、usb_gadget_release()がudcの参照を減らし、その後gadgetのreleaseルーチンを呼び出します。
CVSS による深刻度 (CVSS とは?)

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


Linux
  • Linux Kernel 5.19 以上 6.1.178 未満
  • Linux Kernel 6.13 以上 6.18.39 未満
  • Linux Kernel 6.19 以上 7.1.4 未満
  • Linux Kernel 6.2 以上 6.6.145 未満
  • Linux Kernel 6.7 以上 6.12.96 未満
  • Linux Kernel 7.2

想定される影響

・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。
・当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。
・当該ソフトウェアが完全に停止する可能性があります。
対策

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

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

  1. 解放済みメモリの使用(CWE-416) [NVD評価]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-64346
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-64346
  2. 関連文書 : usb: gadget: udc: Fix use-after-free in gadget_match_driver - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/54fa390aae393eb130f307a85562e3001cc39a52)
  3. 関連文書 : usb: gadget: udc: Fix use-after-free in gadget_match_driver - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/b52476a83d9e12df00765359d728a875b128bef1)
  4. 関連文書 : usb: gadget: udc: Fix use-after-free in gadget_match_driver - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/67e511d2989eb1c8c588b599ce2fcc6bb8e6f7ea)
  5. 関連文書 : usb: gadget: udc: Fix use-after-free in gadget_match_driver - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/7a5214dae906d9f58e07bc4995e8181ee74439f4)
  6. 関連文書 : usb: gadget: udc: Fix use-after-free in gadget_match_driver - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/50eeb8e8a4f389efc91b93cff14a683e714ec194)
  7. 関連文書 : usb: gadget: udc: Fix use-after-free in gadget_match_driver - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/d026f71df141c9b064ff32a78af5391a31ef75c2)
更新履歴

  • [2026年09月04日]
      掲載