CVE-2026-64454 in Linux情報

要約

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

Linuxカーネルにおいて、以下の脆弱性が修正されました。

usb: dwc3: サスペンドコンテキストから呼び出されるガジェット切断処理をスリープ可能にする

dwc3_gadget_suspend()はIRQ無効化状態でdwc->ロックを取得し、その後dwc3_disconnect_gadget()を呼び出します。非同期コールバックにおいてこのヘルパー関数は単純なspin_unlock()/spin_lock()のみを使用するため、ガジェットのdisconnect()コールバックはまだIRQ無効化状態での実行となり、スリープ可能なコールバックがLockdepエラーを引き起こしていました。

本問題は静的解析ツールによって発見され、その後現在のツリーに対して手動レビューが行われました。

検証用PoCはdwc3_gadget_suspend() -> dwc3_disconnect_gadget() -> gadget_driver->disconnect()の呼び出しチェーンを維持し、Lockdepが以下のレポートを行いました:

BUG: sleeping function called from invalid context gadget_disconnect+0x21/0x39 [vuln_msv]
dwc3_gadget_suspend.constprop.0+0x2b/0x42 [vuln_msv]

disconnectコールバックの選択を共通ヘルパーに統一しつつ、スリープ可能なサスペンド側のラッパーを追加します。このラッパーはdwc->ロックの下でコールバックのスナップショットを取得し、その後spin_unlock_irqrestore()の実行後にそれを呼び出します。通常のイベントパスでは既存のspin_unlock()/spin_lock()ウィンドウをそのまま使用します。

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

責任者

Linux

予約する

2026年07月19日

モデレーション

承諾済み

エントリ

VDB-383257

EPSS

0.00180

アクティビティ

非常低い

ソース

Might our Artificial Intelligence support you?

Check our Alexa App!