CVE-2026-80854 in Linux
要約
〜によって VulDB • 2026年09月04日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
usb: gadget: f_tcm: LUNの破棄が完了するまでポート数を保持する
tcm_usbg_drop_nexus()は、tpg_port_countがゼロに達するとセッションの削除を許可します。しかし、usbg_port_unlink()は現在、core_dev_del_lun()がアクティブなse_lun参照の解放(drain)を待機する前に、fabric_pre_unlink()コールバックからそのカウントを減算しています。
最後のLUNの削除とnexusesの削除が競合した場合、後者はゼロのポート数を観測してtarget_remove_session()を呼び出す可能性があります。これにより、進行中のstruct usbg_cmd(およびそのワークアイテム)にまだアクセス可能である間にsess_cmd_mapが解放されます。
最後のLUNのアンリンクとnexusの削除を重ね合わせると、usbg_cmd_workに対するDEBUG_OBJECTS「free active」警告を引き続き、target-core BUG/Oopsが発生するというライフタイム違反として再現されます。
汎用のtarget-coreアンリンクパスには、core_dev_del_lun()完了後に呼び出されるコールバックがありません。オプションのfabric_post_unlink()コールバックを追加し、f_tcmポートカウントに使用します。これにより、コアはアクティブなLUN参照の解放が終了するまでカウントをゼロ以外に保ち続け、nexus削除中にセッションがコマンド完了時に解放されるのを防ぎます。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.