CVE-2026-10663 in zephyr情報

要約

〜によって VulDB • 2026年07月12日

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でないことを確認するだけであり、これに基づいて tear down の対象を決定します。

UHCコントローラードライバー(例:uhc_max3421e、uhc_mcux_common)は、デバウンスや状態ガードなしで物理的なバスラインの状態から直接 UHC_EVT_DEV_REMOVED イベントを合成するため、物理的なUSBアクセス権を持つ攻撃者(または接続を頻繁に切り替える悪意のあるデバイス)が、ルートデバイスの切断後に2回目のデバイス取り外しイベントを送信できます。これによりハンドラはダングリングポインタを使用して usbh_device_disconnect() を再実行し、解放済みオブジェクト内のミューテックスのロック(use-after-free)、解放済みノードをデバイスリストから削除、および既に解放済みのブロックに対して k_mem_slab_free() の呼び出し(double-free)が行われます。もしそのスラブブロックが中間に新しく接続されたデバイスへ再割り当てされていた場合、稼働中のオブジェクトが破損します。

影響はサービス拒否(クラッシュ)とメモリ破壊であり、攻撃ベクトルは物理的/ローカルです。この欠陥は v4.4.0 で行われた connect/disconnect のリファクタリングによって導入され、解放前に usbh_device_disconnect() 内で ctx->root をクリアすることで修正されています。

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

責任者

Zephyr

予約する

2026年06月02日

モデレーション

承諾済み

エントリ

VDB-377884

EPSS

0.00000

アクティビティ

低い

ソース

Do you need the next level of professionalism?

Upgrade your account now!