Ad

CVE-2026-74607

HIGH CVSS 3.1: 8,8 EPSS 0.13%
Обновлено 25 августа 2026
Linux
Параметр Значение
CVSS 8,8 (HIGH)
Уязвимые версии 5.18 — 7.2
Устранено в версии 6.1.184
Поставщик Linux
Публичный эксплойт Нет

В ядре Linux устранена следующая уязвимость: KVM: SVM: Сериализация доступа к владельцу и списку зеркал с отдельной блокировкой. Взаимодействие между KVM_CAP_VM_MOVE_ENC_CONTEXT_FROM и KVM_CAP_VM_COPY_ENC_CONTEXT_FROM может вызвать две отдельные проблемы: - в sev_migrate_from(), когда целевой KVM является зеркалом, зеркало запись перемещается из списка источников в список Mirror_vms владельца, не удерживая замок владельца в отличие от других писателей владельца список зеркал (sev_vm_copy_enc_context_from(), sev_vm_destroy()). Параллельное копирование или уничтожение может участвовать в гонке с помощью sev_migrate_from() и испортить список. - В sev_vm_destroy() *владелец* все еще активен и может получать одновременно KVM_CAP_VM_MOVE_ENC_CONTEXT_FROM, который вызывает sev->enc_context_owner, который нужно изменить.

В этом случае неправильная виртуальная машина получает kvm_put_kvm(). Второй вопрос требует особого внимания, поскольку владелец может исчезнуть. в целом (даже несмотря на то, что окно гонки невероятно маленькое) между прочитав его и заблокировав. Таким образом, нет возможности выполнить проверку. под блокировкой владельца без помещения структуры kvm под SLAB_TYPESAFE_BY_RCU (что позволило бы использовать kvm_get_kvm_safe() в критическом разделе RCU).

Гораздо проще просто использовать глобальную блокировку, поскольку критические секции такие маленькие, а новый замок всегда створчатый.

Показать оригинальное описание (EN)

In the Linux kernel, the following vulnerability has been resolved: KVM: SVM: Serialize accesses to the owner and mirror list with separate lock Interaction between KVM_CAP_VM_MOVE_ENC_CONTEXT_FROM and KVM_CAP_VM_COPY_ENC_CONTEXT_FROM can cause two separate issues: - in sev_migrate_from(), when the destination KVM is a mirror, the mirror entry is moved from the source's list to the owner's mirror_vms list, without holding the owner's lock unlike other writers of the owner's mirror list (sev_vm_copy_enc_context_from(), sev_vm_destroy()). A concurrent COPY or destroy can race with sev_migrate_from() and corrupt the list. - In sev_vm_destroy(), the *owner* is still active and could receive concurrently a KVM_CAP_VM_MOVE_ENC_CONTEXT_FROM that causes sev->enc_context_owner to change. In this case the incorrect VM receives kvm_put_kvm(). The second issue needs particular care because the owner could disappear altogether (even though the race window is impossibly small) between reading it and locking it. There is thus no way to perform the checks under the owner lock without putting struct kvm under SLAB_TYPESAFE_BY_RCU (which would allow kvm_get_kvm_safe() under RCU critical section). It is much simpler to just use a global lock, since the critical sections are so small and the new lock is always a leaf lock.

Характеристики атаки

Способ атаки
Локальный
Нужен локальный доступ
Сложность
Низкая
Легко эксплуатировать
Нужны права
Низкие
Нужны базовые права
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Высокое
Полная утечка данных
Целостность
Высокое
Полная модификация данных
Доступность
Высокое
Полный отказ в обслуживании

Строка CVSS v3.1

Уязвимые продукты 6

Конфигурация От (включительно) До (исключительно)
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
5.18 6.1.184
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
5.18 6.6.153
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
5.18 6.12.105
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
5.18 6.18.45
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
5.18 7.1.9
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
5.18 7.2