VMScapeと名付けられた新しいSpectre類似の攻撃手法により、悪意のある仮想マシン(VM)が、最新のAMDまたはIntel CPU上で動作する未改変のQEMUハイパーバイザープロセスから暗号鍵を漏洩させることが可能となります。
この攻撃はVMとクラウドハイパーバイザー間の分離を破り、既存のSpectre対策を回避して、投機的実行を利用することで機密データの漏洩を引き起こす恐れがあります。
研究者らは、VMScapeはホストを侵害する必要がなく、ハードウェアでデフォルトの緩和策が有効な未改変の仮想化ソフトウェア上でも機能することを強調しています。
彼らは、攻撃者がクラウドプロバイダーに対してこの攻撃を仕掛ける場合、単に仮想マシンをレンタルするだけで、ハイパーバイザーや他のVMから秘密情報を漏洩させることができると指摘しています。
VMScapeは、スイスの公立大学であるチューリッヒ工科大学(ETH Zurich)の研究者チームによって開発されました。彼らは、この攻撃がZen 1からZen 5までのすべてのAMDプロセッサおよびIntelの「Coffee Lake」CPUに影響することを発見しました。より新しい「Raptor Cove」と「Gracemont」には影響しません。
QEMUからの秘密情報の漏洩
最新のCPUは、ゲストとホスト間の分岐予測ユニット(BPU)にも分離を拡張することで投機的攻撃から保護していますが、研究者らはこの分離が不完全であることを発見しました。

出典: ETH Zurich
ゲストユーザーは、BTB(Branch Target Buffer)、IBP/ITA、BHB(Branch History Buffer)などの共有BPU構造体を介して、ホストユーザープロセスの間接分岐予測に影響を与えることができます。
この攻撃は、ゲストメモリを自身のアドレス空間にマッピングするユーザーモードハイパーバイザーコンポーネントであるQEMUを標的とし、「FLUSH+RELOAD」キャッシュサイドチャネルの利用を可能にします。
ETH Zurichの研究者は、Spectre-BTI(Branch Target Injection)攻撃を用いて、QEMU内のターゲット間接分岐を誤誘導し、秘密データを共有リロードバッファに漏洩させる開示ガジェットを投機的に実行させました。

出典: ETH Zurich
投機的実行ウィンドウを拡張するために、攻撃者はゲスト内部から関連するキャッシュエントリを追い出し、AMD Zen 4 CPUの最終レベルキャッシュ(LLC)を標的としたエビクションセットを構築します。
ASLR(アドレス空間配置のランダム化)は、プロセス内でデータが読み込まれるメモリアドレスをランダム化するセキュリティ機能ですが、分岐の衝突を調べて被害者ガジェットの位置を特定し、リロードバッファの仮想アドレスを総当たりすることで突破されます。
ETH Zurichの研究者は、VMScapeがQEMUから任意のメモリデータを毎秒32バイトの速度で、98.7%のバイト単位の精度、全体の攻撃成功率43%で漏洩させることを実証しました。
この速度では、ディスク暗号化キーのような4KBの秘密情報が128秒で漏洩可能です。ASLR回避プロセスを含めた総合的な所要時間は772秒、つまり13分弱となります。
影響と対応
仮想化はクラウドコンピューティングの基盤であり、もし1台のゲストマシンがホストのメモリを読み取れる場合、マルチテナント型クラウドのセキュリティが脅かされます。
しかし、VMScapeのような攻撃には高度な知識、深い技術的専門性、継続的な実行時間が必要であることを強調することが重要です。そのため、たとえ実行可能であっても、このような攻撃は大多数のユーザーにとって脅威とはなりません。

出典: ETH Zurich
ETH Zurichのチームは、6月7日にAMDおよびIntelへ調査結果を報告し、この問題にはCVE-2025-40300という識別子が付与されました。AMDはこの問題に関するセキュリティ情報を公開しています。
Linuxカーネル開発者は、VMEXIT時にIBPB(間接分岐予測バリア)を追加してBPUをフラッシュすることでVMScapeを緩和するパッチをリリースしました。研究者によれば、この緩和策は一般的なワークロードにおいて性能への影響は最小限です。