Linux KVMに重大な脆弱性、攻撃者が仮想マシンを脱出しrootアクセスを取得可能に

Linuxのカーネルベース仮想マシン(KVM)サブシステムに重大なセキュリティ脆弱性が見つかりました。攻撃者はこの脆弱性を悪用することで、影響を受ける仮想マシンから脱出し、基盤となるホストにアクセスした上で、root権限を取得できる可能性があります。

CVE-2026-89775として追跡されているこの脆弱性は、ネステッド仮想化(入れ子仮想化)が有効になっているARM64システム上のKVMに影響します。セキュリティ研究者のHyunwoo Kim氏は、Linuxディストリビューションのセキュリティプロセスを通じて調整されていたエンバーゴが解除された後、この問題を公表しました。

この脆弱性は特にマルチテナントのクラウド環境において重大な意味を持ちます。ゲスト仮想マシンにアクセスできる攻撃者が、それを実行しているホストシステムを侵害できる可能性があるためです。

そこから攻撃者は、同じ物理サーバー上でホストされている他のワークロードや仮想マシン、機密性の高いクラウドインフラにアクセスできる可能性があります。

OpenWallによると、この脆弱性はKVM/ARM64におけるstage-1ページテーブルウォークレベルに関わる型切り捨て(type-truncation)の問題に起因しています。この切り捨てにより、内部のサイズ計算関数がゼロを返してしまいます。

このコードパスにおいて、ゼロは「不明」なサイズを意味します。しかし、Virtual Nested Control Register(VNCR)の疑似TLB(Translation Lookaside Buffer)無効化メカニズムは、このゼロ値を正当なサイズとして誤って扱ってしまいます。

これにより無効化の範囲が空になり、本来必要な疑似TLBの無効化処理が完全にスキップされてしまいます。結果として、解放済みのホストメモリページが、Linuxカーネル内の固定アドレスに書き込み可能な状態でマッピングされたまま残ることになります。

悪意のあるゲストは、この古いマッピングへのアクセスを保持し続け、トラップの発生やVM終了(VM exit)を引き起こすことなく、影響を受けるホストページに対して64ビットの読み書きを実行できます。

このプリミティブにより、攻撃者はゲスト環境からホストレベルでのコード実行へと至る確実な経路を得られる可能性があります。Hyunwoo氏によると、攻撃者はマルチテナントのARM64パブリッククラウドプラットフォーム上でネステッド仮想化に対応したインスタンスを作成することで、この問題を悪用できるとのことです。

ネステッド仮想化により、仮想マシンは自身のハイパーバイザーや追加のゲストマシンを実行できるようになります。開発やテスト、一部のクラウドワークロードには有用な機能ですが、ゲストとホストの仮想化レイヤー間の攻撃対象領域を拡大させてしまいます。

CVE-2026-89775は、影響を受けるLinuxホスト上でローカル権限昇格のリスクも生み出す可能性があります。報告書では特に、Red Hat Enterprise Linuxの構成を含む一部のディストリビューションでは、/dev/kvmが誰でも書き込み可能な0666権限で公開されている場合があると指摘されています。

ネステッド仮想化が有効になっている環境では、KVMにアクセスできる非特権のローカルユーザーがこの脆弱性を悪用し、ホスト上でroot権限を取得できる可能性があります。

この脆弱性のあるコードは、2025年5月14日付のLinuxカーネルコミット7270cc9157f47で導入されました。この問題は、2026年8月6日付のコミット8053393680d4によってメインラインのLinuxで修正されています。

ARM64のKVMホストを運用している管理者は、ネステッド仮想化が有効になっているシステムを特定し、ベンダーのパッケージで上流の修正が反映されたカーネルアップデートが提供され次第、速やかに適用する必要があります。

また各組織は、/dev/kvmへのアクセス制御を見直し、信頼できないユーザーがネステッド仮想化ワークロードを作成できないよう制限した上で、マルチテナントのARM64クラウド環境における影響範囲を評価すべきです。

脅威調査を効率化し手作業の負担を減らすため、16,000以上のSOCチームがANY.RUNを利用しています。貴社チーム向けに詳しく見る

翻訳元: https://cyberpress.org/critical-linux-kvm-flaw/

本記事は cyberpress.org の記事を翻訳・要約したものです。