16-летняя уязвимость в EDK2 позволяет выполнять код до загрузки ОС на большинстве серверов мира
Code-execution flaw in UEFI firmware threatens most servers on planet Earth

В открытом коде TianoCore EDK II, на котором построена UEFI-прошивка почти всех производителей серверов, нашли переполнение буфера в PXE-драйвере — CVE-2026-97631 с оценкой 9,5 из 10. Атакующий с доступом к локальной сети может отправить вредоносный ICMP-ответ во время сетевой загрузки и выполнить код в ring 0 ещё до Secure Boot и TPM. Патч уже опубликован, а значит, создать рабочий эксплойт несложно.
Уязвимость в ICMP-парсере сетевого стека EDK2 интересна тем, как она влияет на цепочку доверия и на всю экосистему.
- FrasiertheLion
Недавно мы писали об отказе от OVMF (~1 млн строк на C) в пользу очень минимальной и узкоспециализированной прошивки (300 строк ассемблера)[1] для наших конкретных целей — конфиденциальных виртуальных машин, и о том, что «популярный» не означает автоматически «безопасный». Можно натравить LLM на любую крупную кодовую базу, и она найдёт уязвимости, так что «пропатчить всю планету» не очень масштабируемо. Вместо этого можно просто писать узкоспециализированные, небольшие кодовые базы и обрушивать на них все практики безопасности — например, LLM (экономически выгодно, если кодовая база маленькая), фаззинг, формальные методы и т.д.
- hn_submit
Я всегда относился с подозрением к созданию UEFI. Он выполняет код до операционной системы, но на самом деле не обеспечивает уровень аппаратной абстракции, как BIOS. Большинство операционных систем не используют BIOS или какой-либо другой программный слой и настраивают оборудование сами. Зачем тогда он нужен?
И в отличие от BIOS, который относительно мал, UEFI — «полноценный», почти размером с саму операционную систему. Он даже может запускать собственные приложения.
Миллион строк кода на C, составляющих UEFI, кишат ошибками, и это лишь одна из них. Не сомневаюсь, что LLM смогут обнаружить гораздо больше.
- john_strinlai
>[...] договорились держать это в тайне до скоординированного раскрытия, запланированного на январь
надеюсь, мы скоро увидим конец этому наивному оптимизму, особенно когда уязвимость найдена с помощью ИИ или при содействии ИИ.
- rocqua
Интересная часть здесь — это фактически обход secure-boot или BitLocker. Если устройство настроено на PXE-загрузку, а в остальном UEFI-система заблокирована и secure boot включён, это может позволить разорвать цепочку загрузки, а затем отключить secure-boot или извлечь ключи из TPM.
Главный вопрос: как часто на устройствах, против которых вы хотели бы это попробовать, включена PXE-загрузка. Я в основном думаю о заблокированных ноутбуках. Либо корпоративных, либо заблокированных производителем (Chromebook, кажется, некоторые Microsoft Surface).
- voidUpdate
То есть нужно отправить ICMP-пакет на сервер, пока он загружается? Это кажется чрезвычайно малой поверхностью атаки. Не знаю, когда наши корпоративные серверы в последний раз реально загружались, они просто работают вечно.
- DamnInteresting
> Существуют важные оговорки и ограничения для эксплуатации этой новейшей уязвимости. Как отмечалось, необходимое условие — некоторый уровень контроля над локальной сетью. Это, вероятно, ограничивает эксплуатацию инсайдерами или атакующими, такими как национальные государства или операторы программ-вымогателей, которым удаётся получить низкоуровневый доступ внутри сети и которые ищут способ повысить системные права.
- AppAttestationz
На планете Земля? Слава богу, ИИ-серверы в космосе в безопасности!!
- NovemberPapa
Насколько это реально эксплуатируемо? Во-первых, машина должна выполнять PXE-загрузку. Почти на КАЖДОЙ машине, которую я настраивал, загрузка сначала идёт с фиксированного носителя. Во-вторых, нужно принудительно перезагрузить машину, и машина должна быть в сети, до которой вы можете добраться.
Конечно, есть много машин с PXE-загрузкой, но если машина доступна извне, зачем вообще настраивать её на PXE-загрузку?