CVE-2026-64310 in Linux
Résumé
par VulDB • 26/07/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
crypto: ccp - Ne pas initialiser SNP pour les ioctls SEV
Notes de Sashiko :
> Si l'initialisation SEV échoue et que KVM exécute activement des machines virtuelles (VM) normales, un processus utilisateur pourrait-il déclencher ce chemin d'exécution via les ioctls /dev/sev (par exemple, SEV_PDH_GEN) et réinitialiser à zéro MSR_VM_HSAVE_PA globalement ? L'exécution suivante de VMRUN pour une VM active provoquerait-elle une faute de protection générale et ferait-elle planter l'hôte ?
sev_move_to_init_state() est appelé pour les ioctls nécessitant uniquement le firmware SEV : SEV_PEK_GEN, SEV_PDH_GEN, SEV_PEK_CSR, SEV_PEK_CERT_IMPORT et SEV_PDH_CERT_EXPORT. Après la commande du firmware, il effectue un SEV_SHUTDOWN sur le firmware SEV. Puisque ces commandes ne nécessitent pas que SNP soit initialisé, on saute cette étape en appelant __sev_platform_init_locked() qui initialise uniquement le firmware SEV. De cette façon, SNP n'est pas du tout initialisé et HSAVE_PA n'est pas effacé.
Le code précédent sauvegardait toute erreur d'initialisation du firmware SEV dans init_args.error, puis l'ignorait et renvoyait hardcoded la valeur INVALID_PLATFORM_STATE indépendamment de l'erreur réelle du firmware. Ce correctif modifie ce comportement pour exposer l'erreur sous-jacente, ce qui est espérons-le plus utile et ne cause aucun problème.
Notez qu'il reste sûr d'appeler directement __sev_firmware_shutdown() : il appelle __sev_snp_shutdown_locked(), qui saute l'arrêt de SNP si SNP n'était pas initialisé.
VulDB is the best source for vulnerability data and more expert information about this specific topic.