ИБ-эксперт компании Google Тэвис Орманди (Tavis Ormandy) выявил опасную уязвимость, затрагивающую процессоры AMD Zen 2. Проблема позволяет похищать конфиденциальные данные (включая пароли и ключи шифрования) со скоростью 30 кбит/с из ядер процессора.

Уязвимость получила идентификатор CVE-2023-20593 и относится к типу use-after-free проблем. Она связана неправильной обработкой инструкции vzeroupper во время спекулятивных (или упреждающих — speculative) вычислений.

Уязвимость затрагивает все процессоры AMD, построенные на архитектуре Zen 2, включая Ryzen 3000 (Matisse), Ryzen 4000U/H (Renoir), Ryzen 5000U (Lucienne), Ryzen 7020, а также высокопроизводительные процессоры ThreadRipper 3000 и серверные Epyc (Rome). Однако фактическое влияние Zenbleed на обычных пользователей вряд ли будет велико, поскольку эксплуатация уязвимости требует локального доступа к целевой системе, а также серьезной технической подготовки.

Орманди рассказывает, что использовал фаззинг и счетчики производительности для обнаружения конкретных аппаратных событий, а затем проверял свои результаты с помощью методики, известной под названием Oracle Serialization. Этот подход помог выявить несоответствия между выполнением случайно сгенерированной программы и ее сериализованным оракулом, что в итоге привело к обнаружению CVE-2023-20593 в процессорах Zen 2.

Создав и использовав эксплоит для этой проблемы, исследователь получил возможность «сливать» конфиденциальные данные, связанные с любой системной операцией, включая операции происходящие в виртуальных машинах, изолированных песочницах, контейнерах и так далее.

«Пришлось немного потрудиться, но я нашел вариант, который позволяет “сливать” около 30 кб на каждое ядро в секунду. Это достаточно быстро, чтобы отслеживать ключи шифрования и пароли при входе пользователей в систему», — пишет Орманди.

Компания AMD уже выпустила обновленные микрокоды для некоторых уязвимых продуктов, однако сообщается, что другие патчи придется ждать до ноября-декабря 2023 года (в том числе для Ryzen 3000 и Ryzen 4000).

Орманди рассказывает, что уведомил AMD о проблеме еще 15 мая 2023 года, а теперь публикует PoC-эксплоит для CVE-2023-20593. Эксплоит написан для Linux, однако уязвимость не зависит от ОС и затрагивает все операционные системы, работающие на процессорах Zen 2.

Источник: xakep