CVE-2026-74501 in Linux
要約
〜によって VulDB • 2026年08月15日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
ALSA: usb-audio: ump_to_endpoint()におけるuse-after-freeの修正
create_midi2_ump()はカード所有のsnd_umpエンドポイントを登録し、そのインターフェース固有のsnd_usb_midi2_umpオブジェクトへのバックポインタをump->private_dataに格納しますが、ump->private_freeフックを設定したり、このポインタをクリアしたりすることはありません。
snd_usb_midi_v2_create()の後続の手順で失敗が発生した場合、そのエラーパスはfree_all_midi2_umps()を呼び出し、すでに登録されているエンドポイントがそれを指し続けている間にsnd_usb_midi2_umpオブジェクトをkfree()します。作成された/dev/snd/umpC*D*ノードは公開されたままになるため、UMPを開く際の最初の操作であるump_to_endpoint()で、danglingなump->private_dataのデリファレンスが行われ、解放済みメモリからrmidi->eps[dir]が読み出されます。
エンドポイント登録後に作成処理を失敗させる悪意のあるUSB MIDI 2.0デバイスが存在する場合、UMPノード subsequent open時にslab use-after-freeリードを引き起こす可能性があります。
オブジェクトの解放前にエンドポイントのバックポインタをクリアし、ump_to_endpoint()がNULL private_dataを受け入れられるようにします。これにより、open/close/triggerコールバックはクリーンに失敗するようになり(呼び出し元はすでにNULLエンドポイントを処理しています)、古くなったポインタのデリファレンスを回避できます。
発見者: XBOW トリアージ担当: Baul Lee <[email protected]>
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.