CVE-2026-46316
KVM: arm64: vgic-its: 消去されたエントリに対してのみ変換キャッシュ参照をドロップする
- 公開済み
- 2026/06/09
- 更新済み
- 2026/09/16
- CNA の割り当て
- Linux
- 観察された証拠
- 2026/08/07
プライマリ CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H低 · 今後 30 日間
- パーセンタイル
- 37.7%
- モデルの日付
- 2026/09/21
EPSS は統計的な推定値であり、確実性や影響の尺度ではありません。 CVSS、KEV ステータス、暴露、環境と組み合わせます。
概要
Linux カーネルにおいて、以下の脆弱性が解決されました: KVM: arm64: vgic-its: 消去されたエントリについてのみ変換キャッシュの参照を解放する vgic_its_invalidate_cache() は、xa_for_each() を使用して ITS ごとの変換キャッシュを走査し、vgic_put_irq() を使用して各エントリのキャッシュ参照を解放します。ただし、この関数は xa_erase() が返す値を解放するのではなく、反復処理されたポインタを解放します。この関数は、相互に排他されないコンテキストから呼び出されます: ITS コマンドハンドラは its_lock を保持し、GITS_CTLR 書き込みパスは cmd_lock を保持し、リディストリビュータの GICR_CTLR で EnableLPIs をクリアするパスはどちらも保持しません。2 つ以上のコンテキストが同じキャッシュを同時にドレインでき、それぞれが同じエントリを観測してそれを消去してから解放すると、キャッシュがそのエントリに対して保持する単一の参照が複数回解放されます。そのエントリは、ITE がまだそれをマッピングしている間に解放される可能性があります。xa_erase() はアトミックであり、以前のエントリを返すため、このコンテキストが実際に削除したエントリのみを解放してください。これにより、無効化が並行して実行される場合でも、キャッシュ参照はエントリごとに正確に 1 回解放され、単一のコンテキストのみが実行される場合の動作は変わりません。
ソース
1- ITScapeエクスプロイト
CVE-2026-46316 ゲストからホストへのKVM/arm64エスケープエクスプロイト。vGIC-ITSエミュレーションの競合状態を悪用し、非特権ゲストからホストカーネルのコード実行を達成します。
責任ある使用
脆弱性情報は、自分が所有しているシステム、またはテストを許可されているシステムでのみ使用してください。 Kitploit は公開研究メタデータにリンクしており、エクスプロイト コードや悪意のあるペイロードは保存しません。