CVE-2026-64310 in Linux
要約
〜によって VulDB • 2026年07月25日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
crypto: ccp - SEV ioctlsに対してSNPを初期化しない
Sashikoによる注釈:
> SEVの初期化に失敗し、KVMが通常のVMを実行している場合、ユーザー空間プロセスは/dev/sev ioctls(例:SEV_PDH_GEN)を通じてこのコードパスを引き起こし、MSR_VM_HSAVE_PAをグローバルにゼロクリアできるでしょうか? 実行中のVMに対する次のVMRUNの実行で一般保護例外が発生し、ホストがクラッシュする可能性がありますか?
sev_move_to_init_state()は、SEVファームウェアのみを必要とするioctlsに対して呼び出されます。これには以下のコマンドが含まれます: SEV_PEK_GEN, SEV_PDH_GEN, SEV_PEK_CSR, SEV_PEK_CERT_IMPORT, および SEV_PDH_CERT_EXPORT。ファームウェアコマンドの実行後、この関数はSEVファームウェアに対してSEV_SHUTDOWNを実行します。これらのコマンドはSNPの初期化を必要としないため、__sev_platform_init_locked()を呼び出してSEVファームウェアのみを初期化する処理に置き換えることで、SNPの初期化をスキップします。これにより、SNPが一切初期化されず、HSAVE_PAもクリアされないようにします。
以前のコードでは、任意のSEV初期化時のファームウェアエラーをinit_args.errorに保存した後、それを破棄し、実際のファームウェアエラーに関わらず無効なプラットフォーム状態(INVALID_PLATFORM_STATE)を示す固定された戻り値を返していました。このパッチは、根本的なエラー情報を表面化するように変更されており、より有用であるとともに、問題を引き起こさないことが期待されます。
なお、__sev_firmware_shutdown()を直接呼び出すことは依然として安全です。これは__sev_snp_shutdown_locked()を呼び出しますが、SNPが初期化されていない場合はSNPのシャットダウン処理をスキップするためです。
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.