Обнаружена критическая 16-летняя уязвимость в EDK II, открытом коде, который большинство производителей оборудования используют для создания прошивки UEFI. Она позволяет злоумышленнику выполнить код на машине до загрузки операционной системы, но только во время сетевой загрузки.
Прошивка UEFI — это программное обеспечение, которое запускается первым при включении компьютера, до операционной системы. Злоумышленник, получивший доступ к машине с помощью специально сформированного сетевого сообщения во время такой сетевой загрузки, может прервать загрузку или, приложив усилия, адаптированные к конкретной сборке прошивки, выполнить собственный код до загрузки Secure Boot и других средств защиты при запуске.
Злоумышленнику не требуется пароль или существующий доступ к машине, но он должен иметь возможность достичь ее по сети в короткое окно, когда происходит сетевая загрузка.
Red Hat и SUSE, которые используют затронутый код, оценили уязвимость как такую, которую злоумышленник может использовать из соседней сети, а не через интернет.
TianoCore, проект, стоящий за EDK II, опубликовал консультативное уведомление 22 октября и оценил уязвимость, отслеживаемую как CVE-2026-97631, в 9,5 из 10. Исправление кода существует, но ни один стабильный выпуск EDK II его пока не содержит, а в уведомлении по-прежнему не указана исправленная версия, поэтому большинство пользователей сегодня не имеют ничего для установки.
Уязвимость представляет собой переполнение буфера в коде сетевой загрузки EDK II, известном как PXE. Во время загрузки PXE машина загружает образ запуска из сети, а не с локального диска.
В рамках этого драйвер PXE прослушивает сообщения об ошибках ICMP и небольшие сообщения о состоянии, которые отправляют сетевые устройства, и копирует каждое в область памяти фиксированного размера 504 байта.
Проверки размера при копировании неверны как в версии кода для IPv4, так и для IPv6, поэтому сообщение длиной более 504 байт выходит за пределы области и перезаписывает соседнюю память данными, выбранными злоумышленником.
Чтобы активировать это, злоумышленнику достаточно отправить одно специально сформированное сообщение об ошибке на адрес машины во время сетевой загрузки. Пароль или существующий доступ к машине не требуются.
Простым результатом является сбой: загрузка зависает, и машина не запускается. Выполнение кода гораздо сложнее и менее надежно. В уведомлении говорится, что злоумышленник, знающий точную сборку прошивки, может внедрить «поддельное событие», которое заставит прошивку выполнить собственный код злоумышленника, поэтому эксплойт должен быть создан для конкретной сборки.
Когда код выполняется, он работает в рамках прошивки, до того как Secure Boot и другие проверки при загрузке подтвердили что-либо. Именно это время делает уязвимость серьезной.
Код, внедренный таким образом, выполняется только один раз и сам по себе не сохраняется после перезагрузки. Этого одного запуска достаточно для установки другого кода, который запускается при каждой загрузке.
Ошибка присутствует в EDK II до версии edk2-stable202608 включительно, самой новой стабильной версии от 21 августа. EDK II — это эталонный код, на котором строят почти все поставщики прошивок UEFI, включая независимых производителей BIOS AMI, Insyde и Phoenix, а также усиленный форк Microsoft Project Mu.
Неправильный цикл копирования присутствует в коде с момента коммита, добавленного в ноябре 2010 года, как выяснила The Hacker News, отследив историю проекта.
Сетевая загрузка PXE включена по умолчанию в стандартной сборке EDK II. Уязвимость не затрагивает домашних или офисных пользователей, которые загружаются только с локального диска. Она применима к организациям, чьи машины загружаются по сети, в основном к серверам и оборудованию дата-центров.
Неизвестно, сколько коммерческих продуктов содержат уязвимый код. Intel сообщила Ars Technica, что ни один из ее «коммерческих продуктов, находящихся на данный момент под поддержкой безопасности», предположительно не затронут, и что она «не включает затронутую функциональность EDK2 в свой эталонный код», хотя поставщик OEM-плат или производитель системы может добавить ее.
Arm заявила, что уязвимость «неприменима напрямую к портфелю продуктов Arm». Прошивки обеих компаний основаны на EDK II.
Дистрибутивы Linux также используют этот код. Red Hat указывает свой пакет edk2 в Red Hat Enterprise Linux 8, 9 и 10 как затронутый и еще не исправленный, а SUSE и Debian отмечают свои эквивалентные пакеты таким же образом.
AMD, Phoenix Technologies, AMI, Microsoft и Amazon не ответили на вопросы технического новостного сайта до публикации, и TianoCore также не ответил, поэтому статус их продуктов остается неясным.
Исправление было включено в исходный код EDK II. Оно переписывает ошибочное копирование так, чтобы чрезмерно большое сообщение обрезалось на 504 байтах вместо переполнения, и достигло основной ветки разработки 15 октября.
Ни один стабильный выпуск EDK II еще не включает это исправление. The Hacker News проверила теги выпусков проекта 28 октября и обнаружила, что самый новый, edk2-stable202608, предшествует ему, а в уведомлении исправленная версия по-прежнему указана как «В настоящее время не исправлена». Project Mu от Microsoft уже интегрировал исправление в свои ветки выпуска и выпустил сборки с тегами 26 октября.
Даже с общедоступным исправлением в исходном коде оператор сервера не сможет ничего установить, пока производитель его прошивки не выпустит обновление BIOS или UEFI, созданное на его основе. Этот шаг, по крайней мере, прост, как сказал Ars Technica Джесси Майкл, ведущий исследователь компании Eclypsium, специализирующейся на безопасности прошивок: в отличие от обходов Secure Boot, таких как BootHole и BlackLotus, уязвимость «может быть исправлена простым исправлением кода» и не требует отзыва сертификатов или ключей.
До появления этого обновления в уведомлении нет никаких обходных путей. Поскольку уязвимость может быть достигнута только во время сетевой загрузки, операторы, которым не нужен PXE, могут отключить его, чтобы снизить риски. Ars также рекомендовал отслеживать сетевой трафик и журналы при загрузке на предмет попыток.
Уязвимость была обнаружена Алексом Матросовым из Anthropic и Дэном Холмсом-Митра из Google, как указано в уведомлении. Координированное раскрытие было запланировано на январь 2027 года.
Этот план был нарушен 28 сентября, когда запрос на включение в EDK II, подписанный инженером AMI, публично описал уязвимость по ее номеру CVE и включил исправление. Как только люди, обнаружившие ее, увидели сообщение, TianoCore опубликовал свое уведомление 22 октября, за несколько недель до запланированной даты.
С общедоступным исправлением Ars отметил, что опытные злоумышленники могут изучить его, чтобы определить, как срабатывает уязвимость, и создать рабочие эксплойты.
Нет никаких признаков того, что уязвимость использовалась в атаке. По состоянию на 27 октября она не была включена в каталог CISA «Известные эксплуатируемые уязвимости», и ни один исследователь не сообщал о ее эксплуатации.
Уязвимость также сама по себе не является способом проникновения в сеть, сообщил Ars Technica после направления вопросов нескольким исследователям прошивок. Реалистичный злоумышленник — это инсайдер или кто-то, кто уже получил низкоуровневый доступ к локальной сети и хочет углубиться.
«Злоумышленник, намеревающийся скомпрометировать близлежащий конечный узел или сервер, может использовать эту ошибку для перехвата потока программы в точке, где процесс загрузки все еще имеет доступ к конфиденциальным компонентам, таким как TPM конечного узла», — сказал HD Мур, создатель *Metasploit и главный специалист по исследованиям в компании безопасности Dragos, в комментариях Ars Technica.
«Это может быть использовано для взлома шифрования диска в случаях, когда злоумышленник имеет краткосрочный сетевой доступ (и это было бы еще проще в сценарии кражи)».
Это не первая серьезная уязвимость в коде сетевой загрузки EDK II. В январе 2024 года исследователи раскрыли PixieFail — набор из девяти уязвимостей в той же части EDK II, также доступных во время загрузки PXE. Ars сообщил, что проекты фаззинга, начатые после PixieFail для поиска других ошибок в коде, не обнаружили эту.
*Facebook, *Instagram и *WhatsApp принадлежат компании *Meta Platforms Inc., деятельность которой признана экстремистской и запрещена на территории Российской Федерации.
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Swati Khandelwal




