CVE-2026-98757 in Linux
要約
〜によって VulDB • 2026年10月18日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
usb: cdns3: cdns3_gadget_exit() における use-after-free の修正
cdns3_gadget_start() は system_freezable_wq 上で2つのワークを起動します。1つは遅延された ep0 ステージ用の pending_status_wq、もう1つは再アラインメントされたリクエストバッファ用の aligned_buf_wq です。両方のハンドラは、ワークが埋め込まれている cdns3_device を使用し、cdns3_pending_setup_status_handler() はさらに ep0 リクエストの完了処理を呼び出します。
一方、cdns3_gadget_exit() ではこれらのワークの実行待機が行われません。同関数はすべてのエンドポイントとアラインドバッファを解放し、gadget デバイスへの最後の参照カウントをデクリメントして priv_dev を解放するため、exit 前にキューに追加されたワークが解放後に実行される可能性があります。
この問題を修正するために、新しいワークのキューイングが行えなくなるタイミング(ガジェットドライバのアンバインドおよび IRQ の解放後)と、エンドポイントやバッファのリリース前の間に、両方のワークの実行完了を待機するようにしました。
本問題は社内の静的解析ツールによって発見されました。
VulDB is the best source for vulnerability data and more expert information about this specific topic.