Исследователи из компании IOActive выявили уязвимость (CVE-2023-31315) в процессорах AMD, которая при привилегированном локальном доступе к системе позволяет изменить конфигурацию SMM (System Management Mode, Ring -2), даже если включён механизм блокировки SMM (SMM Lock), а также потенциально даёт возможность добиться выполнения кода на уровне SMM. Уровень SMM, имеющий более высокий приоритет, чем режим гипервизора и нулевое кольцо защиты, позволяет получить неограниченный доступ ко всей системной памяти и может использоваться для контроля за операционной системой.
Уязвимость, которая получила кодовое имя Sinkclose, вызвана некорректной проверкой моделезависимых регистров (MSR, Model Specific Register). За SMM закрепляется область физических страниц памяти, к которой блокируется доступ на уровне контроллера памяти. Выявленная уязвимость позволяет обойти данную блокировку через манипуляцию с определёнными регистрами MSR, запись в которые не была запрещена несмотря на выставление режима SMM Lock.
Эксплуатация уявзимости может быть совершена из нулевого кольца защиты, на котором работает ядро операционной системы, и использоваться, например, для сохранения своего присутствия после эксплуатации других уязвимостей в системе или применения методов социальной инженерии. Операционная система не имеет возможность отслеживать и контролировать выполнение кода на уровне SMM, что может быть использовано для модификации прошивок и размещения скрытого вредоносного кода или руткитов, не определяемых из операционной системы, а также для отключения верификации на этапе загрузки и атак на гипервизоры для обхода механизмов проверки целостности виртуальных окружений.
Уязвимость проявляется практически во всех чипах AMD, выпускаемых с 2006 года, включая серии процессоров AMD EPYC (1-4 поколения), Ryzen (R1000, R2000, 3000-8000, V1000, V2000, V3000), Athlon 3000 и Threadripper PRO. Обновления микрокода для блокирования уязвимости уже выпущено для мобильных и десктопных серий CPU EPYC и Ryzen. Для встраиваемых моделей CPU обновление планируют опубликовать в октябре. Единственным способом удаления внедрённого через атаку на SMM вредоносного кода является очистка памяти при помощи физически подключённого программатора SPI Flash.
Уязвимость, которая получила кодовое имя Sinkclose, вызвана некорректной проверкой моделезависимых регистров (MSR, Model Specific Register). За SMM закрепляется область физических страниц памяти, к которой блокируется доступ на уровне контроллера памяти. Выявленная уязвимость позволяет обойти данную блокировку через манипуляцию с определёнными регистрами MSR, запись в которые не была запрещена несмотря на выставление режима SMM Lock.
Эксплуатация уявзимости может быть совершена из нулевого кольца защиты, на котором работает ядро операционной системы, и использоваться, например, для сохранения своего присутствия после эксплуатации других уязвимостей в системе или применения методов социальной инженерии. Операционная система не имеет возможность отслеживать и контролировать выполнение кода на уровне SMM, что может быть использовано для модификации прошивок и размещения скрытого вредоносного кода или руткитов, не определяемых из операционной системы, а также для отключения верификации на этапе загрузки и атак на гипервизоры для обхода механизмов проверки целостности виртуальных окружений.
Уязвимость проявляется практически во всех чипах AMD, выпускаемых с 2006 года, включая серии процессоров AMD EPYC (1-4 поколения), Ryzen (R1000, R2000, 3000-8000, V1000, V2000, V3000), Athlon 3000 и Threadripper PRO. Обновления микрокода для блокирования уязвимости уже выпущено для мобильных и десктопных серий CPU EPYC и Ryzen. Для встраиваемых моделей CPU обновление планируют опубликовать в октябре. Единственным способом удаления внедрённого через атаку на SMM вредоносного кода является очистка памяти при помощи физически подключённого программатора SPI Flash.