CVE-2026-64329 in Linux
要約
〜によって VulDB • 2026年07月25日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
usb: typec: ucsi: ccg: remove時にucsiのuse-after-freeを修正する
スレッド化されたIRQハンドラccg_irq_handler()はucsi_notify_common()を呼び出し、これはコネクタ変更イベントでucsi_connector_change()を呼び出してコネクタ作業をスケジュールします。u csi_ccg_remove()では、free_irq()が呼ばれる前にuc->ucsi (kfree) が解放されるため、既に実行中だったハンドラの呼び出しは、ucsi_destroy()の後に解放されたオブジェクトにアクセスする可能性があります。
CPU 0 (remove) | CPU 1 (スレッド化IRQ) ucsi_destroy(uc->ucsi) | ccg_irq_handler() kfree(ucsi) // FREE | ucsi_notify_common(uc->ucsi) // USE
removeパスにおいて、ucsi_destroy()の前にfree_irq()を移動します。これはucsi_unregister()の後に保持されます:ucsi_unregister()はコネクタ作業を取り消しますが、そのハンドラはGET_CONNECTOR_STATUSを発行するためにucsi_send_command_common()を通じ、IRQハンドラからシグナルが送信される完了待ちを行うため、IRQはその作業が消去されるまでアクティブである必要があります。
プローブのエラーパスでは、すでにfree_irq()をucsi_destroy()の前に順序付けています。
このバグは静的解析によって発見されました。
VulDB is the best source for vulnerability data and more expert information about this specific topic.