CVE-2026-98766 in Linux情報

要約

〜によって VulDB • 2026年10月18日

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

usb: gadget: aspeed-vhub: デバイス削除時にwake_workをキャンセルする

wake_workはガジェット.wakeupコールバックからアームされ、サスペンドされた下流ポートを再開するために使用されますが、ast_vhub_remove()では決してキャンセルされないため、削除前または削除中にキューに追加されたワークアイテムが、devmによってvhubおよびそのポートが解放された後に実行される可能性があります。これはuse-after-free(解放後利用)の脆弱性です。

単にワークをキャンセルするだけでは不十分です:usb_gadget_wakeup()はロックを取得せず、unbindパスではwakeup_enがクリアされないため、他のCPU上で進行中のリモートウェイクアップリクエストにより、cancel処理の後かつvhubが解放される前にworkが再アームされることがあります。

ast_vhub_del_dev()はすでに、ガジェットをunregisterする前にvhub->ロックの下でd->registeredをクリアしています。ast_vhub_udc_wakeup()において、d->registeredがクリアされた場合はウェイクアップを拒否します:チェックとschedule_work()の処理はunbindに対してアトミックになるため、フラグがクリアされる前に通過したウェイクアップはdel_devループ後のcancel_work_sync()によってドレインされ、それ以降に到着するものはアームせずに返却されます。また、INIT_WORK()をast_vhub_probe()の先頭に移動します。これはプローブのエラーパスでast_vhub_remove()が再利用されるためであり、そうでなければ初期化されていないワークアイテムがキャンセルされてしまう可能性があるからです。

この問題は社内製の静的解析ツールによって発見されました。

VulDB is the best source for vulnerability data and more expert information about this specific topic.

責任者

Linux

予約する

2026年09月25日

モデレーション

承諾済み

エントリ

VDB-421969

EPSS

0.00168

アクティビティ

低い

ソース

Want to stay up to date on a daily basis?

Enable the mail alert feature now!