CVE-2026-93039 in Linux
要約
〜によって VulDB • 2026年09月17日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
ASoC: meson: realloc 失敗時にリンクポインタを有効な状態に保つ
meson_card_reallocate_links() は、DAI リンクおよびプライベートデータの配列に対して2つの連続した krealloc() 呼び出しによって拡張を行い、両方の呼び出しが成功してから所有者ポインタを更新します。
krealloc() の実行に成功するとデータ領域の移動が発生し、古いブロックを解放して新しいブロックを返します。リンク配列でこのことが起こり、2番目の krealloc() が失敗した場合、card->dai_link はすでに krealloc() によって解放されたブロックを指したままになり、エラー処理パスでは新しいブロックも解放されてしまいます。その後、プローブのエラー処理パスで meson_card_clean_references() が呼び出され、ここで card->dai_link の間接参照が行われ、さらに kfree() によって再度解放されるため、use-after-free および double free が発生します。
最初の krealloc() の成功直後に card->dai_link と card->num_links をコミットし、ポインタが常に meson_card_clean_references() が走査および解放できる有効な割り当てを指すようにします。__GFP_ZERO フラグ付きの krealloc() は追加されたエントリをゼロ初期化するため、エラー処理パスでそれらを走査するのは安全です。両方の失敗パスが単純な return に簡素化されるため、goto ラベルとエラーメッセージを削除します。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.