Уязвимость в процессорах ARM, позволяющая обойти изоляцию виртуальных машин

Компания ARM раскрыла информацию об уязвимости (CVE-2025-10263) в своих процессорах, позволяющей осуществить запись в ресурсы, принадлежащих более высокому уровню исключений (Exception Level), что потенциально позволяет добиться повышения привилегий в системе. В контексте гипервизора Xen уязвимость даёт возможность из гостевой системы осуществить запись в память, принадлежащую гипервизору.

Проблема проявляется только на многоядерных процессорах Arm C1-Ultra, C1-Premium, Neoverse V3 & V3AE, Neoverse V2, Neoverse V1, Neoverse N2, Neoverse N1, Cortex-X925, Cortex-X4, Cortex-X3, Cortex-X2, Cortex-X1 & X1C, Cortex-A710, Cortex-A78, A78AE & A78C, Cortex-A77, Cortex-A76 & A76AE и NVIDIA Olympus. Для блокирования проблемы обходным путём для ядра Linux предложен патч, который пока не вошёл в состав корректирующих обновлений. Исправление также выпущено для гипервизора Xen.

Уязвимость возникает в процессе выполнения операции TLBI (TLB Invalidation) для очистки записи в кэше трансляции виртуальных адресов в физические. Инструкция DSB (Data Synchronization Barrier), фиксирующая выполнение операции TLBI, на одном ядре может завершиться раньше, чем операция записи на другом ядре станет глобально видна всем ядрам. Таким образом, операция записи может быть завершена после того, как права доступа были изменены через TLBI.

Данная рассинхронизация состояния может применяться для обхода запрета доступа на уровне таблиц трансляции виртуальных адресов в физические (Stage 1) и трансляция адресов виртуальной машины (Stage 2), а также обхода механизма защиты целостности памяти GPT (Granule Protection Table). Например, гипервизор может выполнить инструкцию TLBI для запрета доступа к памяти для виртуальной машины, но гостевая система сможет продолжить писать в эту память, несмотря на подтверждение прекращения доступа.

Источник: http://www.opennet.ru/opennews/art.shtml?num=65660