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 (警告) [その他]
| |
| 影響を受けるシステム | |
|
| |
Zephyr Project | |
本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。 | |
| 想定される影響 | |
・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 | |
| 対策 | |
ベンダ情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
GitHub | |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/07/12 |
| 登録日 | 2026/07/21 |
| 最終更新日 | 2026/07/21 |



