В ядре Linux устранена следующая уязвимость:
KVM: Arm64: nv: внедрить SEA, если гостевой VNCR не является обычной памятью. При построении сопоставления L1 VNCR KVM безоговорочно использует кэшируемые
атрибуты памяти, даже если базовый PFN не является памятью. Это получает
особенно сложно, если конечная точка не поддерживает кэшируемую память
атрибуты, потенциально вызывающие ошибку SError при обратной записи...
Хотя KVM разрешает атрибуты кэшируемой памяти на определенных PFNMAP
VMA, kvm_translate_vncr() в настоящее время не захватывает VMA. Так что сделайте
на данный момент проще и просто отвергнуть все, что не является памятью.
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: KVM: arm64: nv: Inject SEA if guest VNCR isn't normal memory When constructing an L1 VNCR mapping, KVM unconditionally uses cacheable memory attributes, even if the underlying PFN isn't memory. This gets particularly hairy if the endpoint doesn't support cacheable memory attributes, potentially throwing an SError on writeback... While KVM does permit cacheable memory attributes on certain PFNMAP VMAs, kvm_translate_vncr() isn't currently grabbing the VMA. So do the simpler thing for now and just reject everything that isn't memory.
Характеристики атаки
Последствия
Строка CVSS v3.1