【活用ガイド】

JVNDB-2026-024228

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

概要

Zephyrの実験的なUSBホストスタック(CONFIG_USB_HOST_STACK)において、usbh_device_disconnect()(subsys/usb/host/usbh_device.c)は、キャッシュされたポインタctx->rootをクリアせずにルートのusb_deviceスラブオブジェクトを解放していました。バスの削除ハンドラdev_removed_handler()(subsys/usb/host/usbh_core.c)は、ctx->rootがNULLでないことだけを確認し、それに基づいて何を解除するかを決定しています。UHCコントローラドライバ(例えばuhc_max3421e、uhc_mcux_common)は、物理的なバスラインの状態からデバウンスや状態保護なしに直接UHC_EVT_DEV_REMOVEDを合成します。これにより、物理的なUSBアクセス権を持つ攻撃者(または接続をバウンスさせる悪意のあるデバイス)が、ルートデバイスの切断後に2回目のデバイス削除イベントを送信できる可能性があります。ハンドラはダングリングポインタでusbh_device_disconnect()に再入し、解放済みオブジェクト内のミューテックスをロックする(use-after-free)、解放済みノードをデバイスリストから削除し、既に解放されたブロックに対してk_mem_slab_free()を呼び出す(ダブルフリー)という動作を行います。もしスラブブロックがその間に新しく接続されたデバイスに再割り当てされていれば、これはライブオブジェクトの破壊につながります。影響としてはサービス拒否(クラッシュ)およびメモリ破損があり、攻撃のベクターは物理的かつローカルなものです。この脆弱性はv4.4.0での接続および切断処理のリファクタリングにより導入され、usbh_device_disconnect()で解放前にctx->rootをクリアすることで修正されています。
CVSS による深刻度 (CVSS とは?)

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


Zephyr Project
  • Zephyr 4.4.0 以上 4.5.0 未満

本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。
想定される影響

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

ベンダ情報を参照して適切な対策を実施してください。
ベンダ情報

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

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

  1. CVE-2026-10663
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-10663
  2. 関連文書 : usb: host: fix root device lifecycle management  zephyrproject-rtos/zephyr@4b87a8f  GitHub
更新履歴

  • [2026年07月21日]
      掲載