16-летняя уязвимость в EDK2 позволяет выполнять код до загрузки ОС на большинстве серверов мира

Code-execution flaw in UEFI firmware threatens most servers on planet Earth

16-летняя уязвимость в EDK2 позволяет выполнять код до загрузки ОС на большинстве серверов мира

В открытом коде TianoCore EDK II, на котором построена UEFI-прошивка почти всех производителей серверов, нашли переполнение буфера в PXE-драйвере — CVE-2026-97631 с оценкой 9,5 из 10. Атакующий с доступом к локальной сети может отправить вредоносный ICMP-ответ во время сетевой загрузки и выполнить код в ring 0 ещё до Secure Boot и TPM. Патч уже опубликован, а значит, создать рабочий эксплойт несложно.

Уязвимость в ICMP-парсере сетевого стека EDK2 интересна тем, как она влияет на цепочку доверия и на всю экосистему.
  1. FrasiertheLion

    Недавно мы писали об отказе от OVMF (~1 млн строк на C) в пользу очень минимальной и узкоспециализированной прошивки (300 строк ассемблера)[1] для наших конкретных целей — конфиденциальных виртуальных машин, и о том, что «популярный» не означает автоматически «безопасный». Можно натравить LLM на любую крупную кодовую базу, и она найдёт уязвимости, так что «пропатчить всю планету» не очень масштабируемо. Вместо этого можно просто писать узкоспециализированные, небольшие кодовые базы и обрушивать на них все практики безопасности — например, LLM (экономически выгодно, если кодовая база маленькая), фаззинг, формальные методы и т.д.

    [1] https://tinfoil.sh/blog/2026-10-25-less-is-more

  2. hn_submit

    Я всегда относился с подозрением к созданию UEFI. Он выполняет код до операционной системы, но на самом деле не обеспечивает уровень аппаратной абстракции, как BIOS. Большинство операционных систем не используют BIOS или какой-либо другой программный слой и настраивают оборудование сами. Зачем тогда он нужен?

    И в отличие от BIOS, который относительно мал, UEFI — «полноценный», почти размером с саму операционную систему. Он даже может запускать собственные приложения.

    Миллион строк кода на C, составляющих UEFI, кишат ошибками, и это лишь одна из них. Не сомневаюсь, что LLM смогут обнаружить гораздо больше.

  3. john_strinlai

    >[...] договорились держать это в тайне до скоординированного раскрытия, запланированного на январь

    надеюсь, мы скоро увидим конец этому наивному оптимизму, особенно когда уязвимость найдена с помощью ИИ или при содействии ИИ.

  4. rocqua

    Интересная часть здесь — это фактически обход secure-boot или BitLocker. Если устройство настроено на PXE-загрузку, а в остальном UEFI-система заблокирована и secure boot включён, это может позволить разорвать цепочку загрузки, а затем отключить secure-boot или извлечь ключи из TPM.

    Главный вопрос: как часто на устройствах, против которых вы хотели бы это попробовать, включена PXE-загрузка. Я в основном думаю о заблокированных ноутбуках. Либо корпоративных, либо заблокированных производителем (Chromebook, кажется, некоторые Microsoft Surface).

  5. voidUpdate

    То есть нужно отправить ICMP-пакет на сервер, пока он загружается? Это кажется чрезвычайно малой поверхностью атаки. Не знаю, когда наши корпоративные серверы в последний раз реально загружались, они просто работают вечно.

  6. DamnInteresting

    > Существуют важные оговорки и ограничения для эксплуатации этой новейшей уязвимости. Как отмечалось, необходимое условие — некоторый уровень контроля над локальной сетью. Это, вероятно, ограничивает эксплуатацию инсайдерами или атакующими, такими как национальные государства или операторы программ-вымогателей, которым удаётся получить низкоуровневый доступ внутри сети и которые ищут способ повысить системные права.

  7. AppAttestationz

    На планете Земля? Слава богу, ИИ-серверы в космосе в безопасности!!

  8. NovemberPapa

    Насколько это реально эксплуатируемо? Во-первых, машина должна выполнять PXE-загрузку. Почти на КАЖДОЙ машине, которую я настраивал, загрузка сначала идёт с фиксированного носителя. Во-вторых, нужно принудительно перезагрузить машину, и машина должна быть в сети, до которой вы можете добраться.

    Конечно, есть много машин с PXE-загрузкой, но если машина доступна извне, зачем вообще настраивать её на PXE-загрузку?

Ещё за этот день

2026-10-28