Драйвер сетевой загрузки PXE копирует принятые ICMP-сообщения об ошибках в поле фиксированной длины и неверно считает границы этого поля. PXE - загрузка компьютера по сети, а сам драйвер входит в состав EDK II, эталонной реализации прошивки UEFI. Сообщение длиннее поля записывает данные за его границей, поэтому злоумышленник в сети может выполнить свой код на машине до старта операционной системы. Затронуты сборки пакета NetworkPkg в составе EDK II, включая стабильную ветку edk2-stable202608, при загрузке по IPv4 и по IPv6.
CVE-2026-97631: переполнение буфера в обработчике ICMP-ошибок
Во время сетевой загрузки драйвер держит открытым запрос на приём ICMP-сообщений об ошибках. ICMP - служебный протокол, которым узлы сообщают друг другу о проблемах доставки пакетов. Принятое сообщение попадает во внутреннюю структуру драйвера, где под такие данные отведено поле в 504 байта. Проверка размера в обработчиках IPv4 и IPv6 работает неверно: сообщение длиннее поля всё равно копируется, а указатель получателя сдвигается на накопленную длину, а не на длину отдельного фрагмента. Поэтому лишние байты, которыми управляет отправитель, оказываются за пределами поля, и ничто на пути приёма длину сообщения не ограничивает.
Атака идёт по сети и не требует учётных данных. Достаточно отправить один адресный ICMP-пакет об ошибке на IP-адрес загружающейся машины; участие пользователя не нужно, расстояние до цели значения не имеет. Дополнительное условие одно: для варианта с исполнением кода надо знать сборку прошивки целевой машины. Окно атаки ограничено временем сетевой загрузки. Оценки в баллах уведомление не приводит, указан уровень Critical, то есть критический.
Последствия делятся на два варианта. Первый - драйвер портит собственные данные, и следующий ICMP-пакет приводит к исключению процессора в ядре DXE, на этапе инициализации драйверов прошивки. Загрузка зависает: система не устанавливается, восстановление не проходит. Второй вариант сложнее: злоумышленник, знающий сборку прошивки, подкладывает в тот же пакет поддельное событие, и прошивка исполняет присланные им байты. Код при этом работает в наиболее привилегированном режиме процессора, до того как Secure Boot (проверка подписи загрузчика) и измеряемая загрузка проверят хотя бы один компонент операционной системы.
Запись CVE-2026-97631, которую назначил TianoCore, относит к затронутым продуктам только пакет NetworkPkg с версиями до edk2-stable202608 включительно. Для остальных продуктов в записи задан статус "не затронут" по умолчанию. Это предварительный вывод: вендор не перечислил такие продукты как уязвимые, но и не подтвердил, что проверил их.
Исправления нет. Уведомление GHSA-99cj-7hg9-mp4m фиксирует статус "не исправлено" на момент публикации, а в записи CVE исправленная версия не указана. Ссылка на предложенный патч в уведомлении есть, но номер версии, в которой он выйдет, не назван. Искать его нужно в обновлениях уведомления и записи CVE. Обходных мер вендор не приводит. Сведений об эксплуатации в реальных атаках нет: публикация технических деталей 22 октября 2026 года означает раскрытие, а не использование.
Обновить прошивку, когда выйдет исправленная сборка. Отслеживать уведомление GHSA-99cj-7hg9-mp4m и запись CVE-2026-97631, где появится номер версии. Проверить, какие машины загружаются по сети: уязвимость срабатывает только в этот период, а вредоносный пакет должен прийти на IP-адрес самой машины.
Значимость уязвимости определяется местом срабатывания: код исполняется раньше операционной системы и раньше её защитных механизмов. Пока исправленной сборки нет, окно сетевой загрузки остаётся единственным периодом, когда машина подвержена такой атаке.