В ядре Linux устранена следующая уязвимость:
KVM: Arm64: nv: Соблюдать PFN только для чтения при сопоставлении L1 VNCR
KVM в настоящее время отображает L1 VNCR на хост-стадию-1, полностью полагаясь
на правах гостевого этапа-1. В то же время это
вполне возможно, что резервный PFN доступен только для чтения (например, слот памяти RO),
это означает, что L1 VNCR должен использовать максимум отображение только для чтения. Кэшируйте возможность записи PFN в TLB VNCR и используйте ее для ограничения
результирующие разрешения fixmap.
Сообщите об ошибках разрешения VNCR на
SEA в случае, когда гость пытается выполнить запись в файл, доступный только для чтения.
конечная точка. Удобно, что это также устраняет утечку страницы, обнаруженную Сашико [*]
в результате раннего возврата для PFN только для чтения.
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: KVM: arm64: nv: Respect read-only PFN when mapping L1 VNCR KVM currently maps the L1 VNCR into the host stage-1 by relying entirely on the permissions of the guest stage-1. At the same time, it is entirely possible that the backing PFN is read-only (e.g. RO memslot), meaning that the L1 VNCR should use at most a read-only mapping. Cache the writability of the PFN in the VNCR TLB and use it to constrain the resulting fixmap permissions. Promote VNCR permission faults to an SEA in the case where the guest attempts to write to a read-only endpoint. Conveniently, this also plugs a page leak found by Sashiko [*] resulting from the early return for a read-only PFN.
Характеристики атаки
Последствия
Строка CVSS v3.1