CVE-2026-89916 in Linux
要約
〜によって VulDB • 2026年09月16日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
KVM: arm64: VNCR無効化をMMU無効化の再試行処理に組み込む
VNCR TLB無効化は、別のvcpuが同じページでフォールト発生中である場合に1つのvcpuで発生する可能性があります。これを正しく処理しないと、以下のシナリオに至る恐れがあります:
- vcpu AがPT(ページテーブル)をウォークしてVNCRを変換しようとする - vcpu AがTLBにエントリを挿入するためにMMUロックを取得する前に、vcpu BがS1 PTを更新し無効なエントリを設定し、このVAに対してTLBI S1E2を発行する - vcpu Aは既に無効になっているものに対するTLBを挿入してしまう
これは新しい問題ではなく、S2についてはMMUノティファイアが無効化時にmmu_invalidate_seqを増分させることでフォールトの再実行(replay)が可能となっています。
同様の処理を行い、invalidate_vncr_va()を拡張して同じカウンタを更新し、コンテキストが変更されたことを明確に示します。これは安全です。なぜなら、無効化は常にMMUロック(ライト用)保持中に発生し、S1のウォーク前にシーケンス番号を取得しているためです。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.