Удалённая уязвимость в серверных UEFI-прошивках, эксплуатируемая через отправку ICMP-пакета

В TianoCore EDK II (EFI Development Kit II), открытой эталонной реализации UEFI, применяемой в большинстве серверных материнских плат, устранена критическая уязвимость (CVE-2026-97631). Уязвимость присутствует в драйвере PXE и может быть эксплуатирована через отправку специально оформленных ICMP-пакетов во время сетевой загрузки в сетях IPv4 или IPv6. Атака не требует аутентификации и позволяет злоумышленнику выполнить свой код с привилегиями UEFI-прошивки на этапе до передачи управления операционной системе, что может быть использовано для обхода механизма верифицированной загрузки UEFI Secure Boot и подстановки вредоносных компонентов на этапе загрузки.

Проблема вызвана переполнением буфера в обработчике ICMP-сообщений в драйвере UefiPxeBcDxe, который используется для PXE-загрузки и принимает ICMP-пакеты во время загрузки по сети для фиксации сетевых ошибок. Переполнение возникает из-за помещения получаемых сообщений об ошибках в фиксированный буфер, размером 504 байта, без проверки фактического размера полученных данных. В случае отправки более 504 байтов в ICMP-пакете, не вмещающийся хвост записывается за пределы буфера и накладывается на идущие следом структуры.

Атака может быть проведена из глобальной сети — достаточно знать IP-адрес жертвы и суметь определить момент PXE-загрузки. Зная какая именно прошивка используется на сервере жертвы, атакующий может подготовить эксплоит с учётом размещения структур в памяти конкретной сборки прошивки и эксплуатировать уязвимость для выполнения кода на уровне DXE (Driver Execution Environment), выполняемом в нулевом кольце защиты.

Проект EDK II открыт в 2004 году компанией Intel и используется всеми крупными производителями прошивок для серверных систем, датацентров и облачных провайдеров. Среди прочего, он применяется в прошивках AMI, Insyde и Phoenix. Уязвимости также присутствует в прошивках на базе платформы Mu от компании Microsoft, которая представляет собой форк EDK II.

Проблема выявлена представителями компаний Anthropic и Google, и была запланирована для скоординированного публичного раскрытия в январе 2027 года. Но обнародовать информацию пришлось раньше, так как инженер из компании AMI случайно нарушил эмбарго и опубликовал публичный pull-запрос с исправлением, на основе которого можно было понять суть уязвимости.

Источник: http://www.opennet.ru/opennews/art.shtml?num=66565