Проблема вызвана переполнением буфера в обработчике 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
