CVE-2026-64310 in Linux
Сводка
по VulDB • 26.07.2026
В ядре Linux устранена следующая уязвимость:
crypto: ccp - не инициализировать SNP для ioctls SEV
Замечания Sashiko:
> Если инициализация SEV завершается ошибкой, а KVM активно запускает обычные виртуальные машины (ВМ), может ли процесс пользовательского пространства вызвать этот путь выполнения через ioctls /dev/sev (например, SEV_PDH_GEN) и обнулить MSR_VM_HSAVE_PA глобально? Вызовет ли следующее выполнение VMRUN для активной ВМ ошибку общей защиты (general protection fault) и аварийное завершение работы хоста?
Функция sev_move_to_init_state() вызывается для ioctls, требующих только прошивки SEV: SEV_PEK_GEN, SEV_PDH_GEN, SEV_PEK_CSR, SEV_PEK_CERT_IMPORT и SEV_PDH_CERT_EXPORT. После выполнения команды прошивки она вызывает SEV_SHUTDOWN для прошивки SEV. Поскольку эти команды не требуют инициализации SNP, пропускаем её, вызывая __sev_platform_init_locked(), которая инициализирует только прошивку SEV. Таким образом, SNP вообще не инициализируется, а HSAVE_PA не очищается.
Предыдущий код сохранял любую ошибку инициализации прошивки SEV в init_args.error, а затем игнорировал её и жестко задавал возвращаемое значение INVALID_PLATFORM_STATE независимо от реальной ошибки прошивки. Этот патч изменяет поведение так, чтобы отображать исходную ошибку, что, как надеются разработчики, будет более полезным и не вызовет никаких проблем.
Обратите внимание, что по-прежнему безопасно вызывать __sev_firmware_shutdown() напрямую: она вызывает __sev_snp_shutdown_locked(), которая пропускает завершение работы SNP, если оно не было инициализировано.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.