Критическая уязвимость UEFI: обход IOMMU и риск DMA
В различных реализациях прошивки UEFI обнаружена критическая уязвимость, которая подрывает безопасность, обеспечиваемую модулем управления памятью ввода/вывода — IOMMU. Из‑за ошибки в инициализации механизма защиты DMA злоумышленник с физическим доступом может использовать программируемое PCIe‑устройство для свободного чтения и записи в системную память, что открывает путь к краже данных и внедрению постоянных bootkit‑решений.
Суть уязвимости
Проблема связана с невозможностью корректного вызова функции EnableDmaProtection() в коде UEFI. В результате IOMMU, который должен фильтровать и контролировать транзакции DMA от PCIe‑устройств, не инициализируется должным образом. Это позволяет злоумышленнику, подключившему специально сконструированное устройство с поддержкой DMA, напрямую взаимодействовать с адресным пространством системы.
«Без инициализации IOMMU злоумышленник, имеющий физический доступ, может развернуть вредоносное PCIe‑устройство для свободного чтения и записи в системную память, потенциально извлекая конфиденциальную информацию или внедряя постоянные буткиты.»
Возможные последствия
- Экфильтрация конфиденциальных данных из системной памяти;
- Внедрение постоянных bootkit‑модулей в загрузчик ОС;
- Манипуляция точками входа в ядро и получение контроля с привилегиями выше ядра;
- Невозможность обнаружения таких вмешательств стандартными средствами безопасности на уровне ОС.
Кто обнаружил и где опубликовано
Исследование было инициировано специалистами Riot Games. Публичное уведомление по уязвимости выпущено в конце декабря 2025 года в рамках CERT/CC Vulnerability Note VU#382314. По мере публикации многие поставщики аппаратного обеспечения начали выпускать обновления прошивки для устранения недостатка.
Рекомендации по обнаружению и смягчению
Администраторам и специалистам по безопасности рекомендуется выполнять следующие действия незамедлительно:
- Проверять наличие и устанавливать обновления прошивки от соответствующих поставщиков аппаратного обеспечения;
- Ограничить физический доступ к критическим системам — особенно к серверам и устройствам в общественно доступных или небезопасных зонах;
- Проводить аудит прошивки и соответствия конфигураций с помощью инструментов, например
fwupdmgrв Linux или vendor‑specific CLI‑инструментов; - Исследовать системы, где параметры переназначения IOMMU/DMA включены, но неактивны, с использованием
PowerShell‑запросов и средств инвентаризации; - Отключать или физически блокировать неиспользуемые PCIe‑слоты и избегать использования сомнительных внешних PCIe‑устройств;
- Включать защитные опции платформы, связанные с DMA protection, если они доступны и корректно поддерживаются прошивкой.
Практические шаги для ИТ‑операций
План действий для команд, отвечающих за инфраструктуру:
- Составить инвентаризацию оборудования и определить приоритеты по уязвимости для публично доступных и критичных систем;
- Мониторить бюллетени производителей прошивки и оперативно тестировать их обновления в контролируемой среде;
- Внедрить процедуру проверки состояния IOMMU/DMA после обновления прошивки и до развёртывания в продуктив;
- Рассмотреть усиление физических мер защиты (замки на корпусах, контроль доступа в стойки, видеонаблюдение) для серверов и рабочих станций высокой ценности.
Кого это касается в первую очередь
Риск наиболее высок для систем, доступных физически третьим лицам — дата‑центры с общим доступом, площадки провайдеров, публичные киоски, демонстрационные стенды и офисы с низкими мерами физической безопасности. Тем не менее уязвимость представляет угрозу и для корпоративных систем, если на них не установлены своевременные прошивки или если имеется возможность физического подключения к PCIe‑шине.
Вывод
VU#382314 — это пример уязвимости «ранней стадии загрузки», когда недостаток в прошивке платформы позволяет обойти аппаратные механизмы защиты памяти. Главные меры защиты просты и одновременно критичны: своевременное применение обновлений прошивки и жёсткий контроль физического доступа. Организациям рекомендуется действовать оперативно — отслеживать advisories поставщиков, проводить аудит прошивки с помощью fwupdmgr и vendor CLI, а также проверять конфигурации через PowerShell, чтобы исключить сценарии, при которых IOMMU остается неинициализированным.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.


