В загрузчике Shim нашли критическую уязвимость, которая позволяла злоумышленникам выполнить код и получить контроль над целевой системой до загрузки ядра, обойдя существующие защитные механизмы.

Shim представляет собой опенсорсный загрузчик, поддерживаемый Red Hat и предназначается для реализации Secure Boot на компьютерах с UEFI. Инструмент подписан цифровой подписью Microsoft, которая по умолчанию принимается на большинстве материнских плат с UEFI и используется для проверки следующего этапа процесса загрузки (обычно загрузчика GRUB2)

Shim был создан для того, чтобы позволить опенсорсным проектам (включая дистрибутивы Linux) использовать преимущества Secure Boot, включая предотвращение несанкционированного или вредоносного выполнения кода во время загрузки, но при этом сохраняя контроль над аппаратным обеспечением.

Обнаруженная в Shim уязвимость получила идентификатор CVE-2023-40547 и была найдена исследователем Microsoft Биллом Демиркапи (Bill Demirkapi), который впервые сообщил о проблеме еще 24 января 2024 года.

Ошибка кроется в исходном коде httpboot.c для Shim, который используется для загрузки сетевого образа по HTTP.

«При получении файлов через HTTP или родственные протоколы, shim пытается выделить буфер для хранения полученных данных, — говорится в коммите для исправления бага в httpboot.c.  — К сожалению, это означает получение размера из HTTP-заголовка (Content-Length), которым можно манипулировать, чтобы задать размер, меньший, чем полученные данные».

В результате потенциальный злоумышленник подучает возможность добиться out-of-bounds записи.

Подробная информация об этом дефекте была опубликована еще в начале февраля 2024 года, но на этой неделе компания Eclypsium обнародовала собственный отчет, стремясь привлечь больше внимания к этой проблеме.

Исследователи объяснили, что уязвимость связана с парсингом HTTP-ответов в Shim и позволяет злоумышленнику создавать специально подготовленные HTTP-запросы, провоцирующие out-of-bounds запись. Таким способом атакующий сможет скомпрометировать систему, выполнив привилегированный код до загрузки ОС, эффективно обходя механизмы безопасности, реализованные ядром и ОС.

Eclypsium предупреждает, что CVE-2023-40547 может использоваться несколькими методами, включая локальную эксплуатацию, атаки из смежных сетей и полностью удаленные атаки. К примеру, удаленный атакующий может осуществить MiTM-атаку и перехватить HTTP-трафик между жертвой и HTTP-сервером. А локальный злоумышленник, обладающий достаточными привилегиями для изменения переменных EFI или раздела EFI, может изменить порядок загрузки, чтобы загрузить уязвимый Shim и выполнить привилегированный код без отключения Secure Boot.

Разработчики RedHat подготовили исправление для CVE-2023-40547 еще в декабре 2023 года, но различные дистрибутивы Linux, поддерживающие Secure Boot и использующие Shim, должны предоставить собственные патчи.

Shim используют такие дистрибутивы, как DebianRed HatSUSE и Ubuntu, и для них уже выпущены рекомендации по исправлению CVE-2023-40547. Пользователям Linux рекомендуется обновиться до последней версии Shim (15.8), которая содержит патч для CVE-2023-40547 и пяти других важных проблем.

Eclypsium объясняет, что пользователи Linux также должны обновить UEFI Secure Boot DBX, включив в него хеши уязвимого Shim, и подписать исправленную версию действительным ключом Microsoft. Стоит отметить, что некоторые дистрибутивы Linux даже предоставляют GUI-инструмент для выполнения этого обновления.

Обновление DBX

Хотя массовая эксплуатация этой уязвимости маловероятна, это не та ошибка, которую следует игнорировать, поскольку выполнение кода до загрузки ОС является одной из самых серьезных и незаметных форм компрометации.

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии