Обнаружена критическая уязвимость в UEFI миллионов компьютеров и серверов

Читать в полной версии

В прошивках UEFI, используемых в миллионах компьютеров и серверов по всему миру, обнаружили критическую уязвимость с оценкой опасности 9,5 из 10. Она может позволить злоумышленникам выполнить вредоносный код на самом раннем этапе запуска системы — ещё до срабатывания механизмов защиты. Проблема затрагивает широко используемую основу прошивок UEFI, поэтому под угрозой могут оказаться системы самых разных производителей.

Источник изображений: Xavier Cee / unsplash.com

Проблема выявлена в TianoCore EDK II — на основе этого открытого программного продукта многие производители создают прошивки UEFI. В частности, этот код используется поставщиками прошивок AMI, Insyde и Phoenix. Уязвимый код присутствует и в Project Mu — доработанном Microsoft варианте EDK II с упором на безопасность. Вероятный круг уязвимых систем достаточно широк.

О проблеме сообщили Алекс Матросов (Alex Matrosov) из Anthropic и Дэн Холмс-Митра (Dan Holmes-Mitra) из Google. Первоначально эксперты договорились не раскрывать подробности проблемы до января 2027 года. Но в сентябре AMI опубликовала изменение кода, в котором описала проблему и предложила её исправление. После этого публичное предупреждение опубликовал проект TianoCore. Преждевременное раскрытие информации опасно тем, что код исправления уже доступен — проанализировав его, злоумышленники могут вскрыть суть проблемы и найти способ эксплуатировать уязвимость. Обновление прошивок — сложная задача: исправления должны разработать и установить производители оборудования и облачные провайдеры, а под угрозой миллионы систем.

Уязвимость представляет собой ошибку переполнения буфера, при которой ПО записывает данные за пределами выделенной памяти. Она находится в компоненте PXE-Base Code, который обеспечивает сетевую загрузку систем. При сетевой загрузке компонент принимает сообщения об ошибках сетевого протокола ICMP — для них выделяется область размером 504 байта, но длина поступающих данных должным образом не проверяется. Если сообщение превышает этот предел, его фрагмент может записаться в соседние участки памяти.

Чтобы произвести атаку, злоумышленнику требуется отправить на адрес целевого устройства специально сформированное сетевое сообщение, когда это устройство загружается по сети. Это может вызвать сбой при загрузке или, если злоумышленник знает особенности конкретной версии прошивки, выполнить собственный код с максимальными привилегиями процессора.

В ходе такой атаки можно нарушить цепочку доверенной загрузки, то есть обойти механизм защиты, призванный гарантировать исполнение только проверенного кода при загрузке. В частности, может открыться доступ к модулю TPM или возможность обойти защиту зашифрованного диска. Запущенный таким образом вредоносный код после перезагрузки не сохраняется, но он позволяет устанавливать другие вредоносные компоненты. Уязвимость может надолго остаться в старых системах, которые больше не получают обновлений.

Развернуть атаку с использованием этой уязвимости непросто. Требуется определённый доступ к локальной сети, например, скомпрометированная учётная запись или обеспеченное ранее присутствие внутри организации. Свидетельств того, что CVE-2026-97631 сама по себе позволяет проникнуть в сеть, обнаружить пока не удалось. Уязвимость не относится к системам, которые загружаются с внутренних накопителей — под угрозой прежде всего машины с сетевой нагрузкой и в первую очередь с прошивками на основе EDK II с поддержкой PXE.

Intel заверила, что среди её коммерческих решений, которые продолжают получать обновления безопасности, продуктов под угрозой пока не выявлено. Компания не включает уязвимый компонент EDK II в собственный эталонный код, но его могут добавлять производители материнских плат или готовых компьютеров. Arm подчеркнула, что проблема не имеет прямого отношения к её продукции. Организациям, в которых может использоваться сетевая загрузка, рекомендовано обратиться к поставщику прошивки, уточнить, затронуто ли их оборудование, и когда выйдет исправление. По возможности рекомендовано временно отключить загрузку по сети. Важно также включать TPM и Secure Boot, но сами они от данной уязвимости защитить не могут.