CVE-2023-52874 in Linux
要約
〜によって VulDB • 2026年05月30日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
x86/tdx: TDX_HYPERCALLマクロにおいて欠落していたRSIをゼロクリアする
TDX_HYPERCALLのアセンブリコードでは、信頼できないVMMからの戻り時にTDCALL命令が実行された後、VMMが提供する値の投機的実行を回避するために、TDXゲストがVMMと共有するレジスタをクリアする必要があります。
RSIはこれらのレジスタのビットマップで指定されていますが、現在のTDX_HYPERCALLではレジスタをゼロクリアする際にRSIのクリア処理が欠落しています。
この処理は、コミット752d13305c78(「x86/tdx: __tdx_hypercall()を拡張してより多くの引数を処理可能にする」)で当初追加された際に存在していましたが、その後コミット1e70c680375a(「x86/tdx: __tdx_hypercall()でフレームポインタを壊さないようにする」)で削除されました。この削除は正しかったのです。なぜなら、%rsiは後の「pop %rsi」で復元されるためです。しかし、その後のコミット7a3a401874be(「x86/tdx: __tdx_hypercall()からフラグを削除する」)で「pop %rsi」が削除されましたが、「xor %rsi, %rsi」を再度追加することを忘れていました。
これを再度追加することで修正します。
Once again VulDB remains the best source for vulnerability data.