В AMD APU обнаружены три опасные уязвимости

Вт 23 Июнь 2020 05:17

В клиенте и встроенных процессорах AMD, выпущенных в 2016-2019 годах, обнаружены три высоко опасные уязвимости, получившие общее название SMM Callout Privilege Escalation. С их помощью злоумышленник с привилегированным или физическим доступом к устройству может выполнить произвольный код или получить контроль над прошивкой. Одна из трех уязвимостей (CVE-2020-14032) была исправлена производителем 8 июня, а патчи для двух других (одной присвоен идентификатор CVE-2020-12890, а другая пока без CVE) появятся позднее в этом месяце.

Как сообщает AMD, уязвимости затрагивают технологию программного обеспечения, поставляемую производителям материнских плат для использования в инфраструктуре Unified Extensible Firmware Interface (UEFI). Проблемы были обнаружены 2 апреля исследователем безопасности Дэнни Одлером (Danny Odler). Эксперт уведомил о них производителя и опубликовал подробности о CVE-2020-14032 13 июня после выхода исправления. Подробности о двух других уязвимостях не раскрываются до выхода патчей.

По словам Одлера, проблемы существуют в гибридных процессорах AMD (Accelerated Processing Unit, APU), предназначенных для работы в качестве центрального и графического процессоров на одном кристалле. Исследователь протестировал уязвимости в UEFI (Unified Extensible Firmware Interface) продукта AMD Mini PC, выпущенного в декабре 2019 года в качестве альтернативы таким малогабаритным компьютерам, как Intel NUC и Gigabyte Brix.

Все три уязвимости затрагивают технологию System Management Mode (SMM) – режим, ответственный за конфигурации процессора и чипсета, код производителя материнской платы и защищенные операции, такие как настройка безопасных загрузочных хэшей, конфигурации TPM (Trusted Platform Module) и управление питанием.

Основной причиной возникновения уязвимости является отсутствие проверки адреса буфера назначения при вызове SmmGetVariable () в обработчике SMI 0xEF. Обработчик SMI 0xEF реализует логику-оболочку для получения данных в переменные UEFI и из них, что обеспечивает способ хранения данных, совместно используемых встроенным ПО платформы и ОС или приложениями UEFI. Функция SmmGetVariable использует значения ArgsStruct для поиска правильной переменной, считывает ее данные и сохраняет их в буфере. Однако эти значения ArgsStruct используются непосредственно «как есть» без какой-либо проверки.

Из-за отсутствия проверки злоумышленник может записывать данные в наиболее защищенную память SMRAM, и, соответственно, выполнять код. Это дает ему возможность манипулировать микрокодом AMD в прошивке UEFI материнской платы (AMD AGESA).

Статья уведена с www.securitylab.ru.

NetLan.ru жив уже 14 лет 256 дней 1 час 48 минут 19 секунд
СМК NetLan (Nettlesome Landloper) — некоммерческий интернет-ресурс.
Весь данный интернет-ресурс и всё созданное или размещённое на нём используется в личных целях.