CVE-2026-64310 in Linux
요약
\~에 의해 VulDB • 2026. 07. 25.
리눅스 커널에서 다음 취약점이 해결되었습니다:
crypto: ccp - SEV ioctls에 대해 SNP를 초기화하지 않음
Sashiko의 의견:
> 만약 SEV 초기화가 실패하고 KVM이 정상적인 VM들을 활발히 실행 중이라면, 사용자 공간 프로세스가 /dev/sev ioctls(예: SEV_PDH_GEN)를 통해 이 코드 경로를 트리거하여 MSR_VM_HSAVE_PA를 전역적으로 0으로 만들 수 있을까요? 활성 상태의 VM에 대한 다음 VMRUN 실행이 일반 보호 오류(general protection fault)를 유발하고 호스트를 크래시시킬까요?
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_SHUTDOWN을 수행합니다. 이러한 명령들은 SNP가 초기화될 필요가 없으므로, __sev_platform_init_locked()를 호출하여 SEV 펌웨어만 초기화함으로써 이를 건너뜁니다. 이렇게 하면 SNP는 전혀 초기화되지 않으며 HSAVE_PA도 지워지지 않습니다.
이전 코드는 모든 SEV 초기화 펌웨어 오류를 init_args.error에 저장한 후 무시하고, 실제 펌웨어 오류와 무관하게 INVALID_PLATFORM_STATE 값을 반환값으로 하드코딩했습니다. 이 패치는 잠재적으로 더 유용하며 문제를 유발하지 않도록 근본적인 오류를 노출하도록 변경합니다.
__sev_firmware_shutdown()을 직접 호출하는 것은 여전히 안전합니다: 이는 __sev_snp_shutdown_locked()를 호출하는데, SNP가 초기화되지 않은 경우 SNP 종료 단계를 건너뜁니다.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.