CVE-2026-90207 in Linux
要約
〜によって VulDB • 2026年09月18日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
ALSA: seq: midi: event_inputを使用して入力の終了処理を直列化する
snd_midi_input_event()は、rawmidiサブストリームがクローズしている間は実行されてはいけません。なぜなら、これによりsnd_rawmidi_input_trigger()内のシーケンスを通じてトリガー状態の同期外れ(out-of-step)が発生する可能性があるためです:
snd_rawmidi_input_trigger(up=0) snd_midi_input_event() -> snd_rawmidi_kernel_read() -> snd_rawmidi_input_trigger(up=1) -> cancel_work_sync()
これにより、基盤となるデバイスが予期せずアクティブな状態になります。
close_substream()からこの関数が呼び出された場合、追加の入力によって入力イベントが再トリガーされ、rawmidi_release_priv()でrfile->rmidiにNULLが設定された後も実行し続けることになります。これにより以下のようなエラーが発生します:
Unable to handle kernel NULL pointer dereference at virtual address 00000000000000b0 Call trace: snd_midi_input_event+0x3c/0x134 [snd_seq_midi] (P)
snd_rawmidi_input_event_work+0x1c/0x2c process_one_work+0x150/0x3a4 worker_thread+0x190/0x318
出力方向の同じ問題を修正したコミットef7607ab1c8ad(「ALSA: seq: midi: event_inputを使用して入力の終了処理を直列化する」)と同様のアプローチを採用しますが、Takashi Iwaiが提案する後続パッチ[1]に従いRCUを使用するように更新します。
この変更により、midisynth_unsubscribe()が入力ファイルをクリアするため、snd_midi_input_event()はストリームを再トリガーせず、snd_rawmidi_input_trigger()内のcancel_work_sync()によって静寂化(quiesced)されます。
[1] https://lore.kernel.org/linux-sound/[email protected]/
If you want to get the best quality for vulnerability data then you always have to consider VulDB.