/ Автор: Светлана Антонова | Оставить комментарий
В загрузчике Shim нашли критическую уязвимость, которая позволяла злоумышленникам выполнить код и получить контроль над целевой системой до загрузки ядра, обойдя существующие защитные механизмы, пишет Хакер.ru.
Shim представляет собой опенсорсный загрузчик, поддерживаемый Red Hat и предназначается для реализации Secure Boot на компьютерах с UEFI. Инструмент подписан цифровой подписью Microsoft, которая по умолчанию принимается на большинстве материнских плат с UEFI и используется для проверки следующего этапа процесса загрузки (обычно загрузчика GRUB2).
Shim был создан для того, чтобы позволить опенсорсным проектам (включая дистрибутивы Linux) использовать преимущества Secure Boot, включая предотвращение несанкционированного или вредоносного выполнения кода во время загрузки, но при этом сохраняя контроль над аппаратным обеспечением.
Обнаруженная в Shim уязвимость получила идентификатор CVE-2023-40547 , оценку CVSS 9,8 (по мнению Red Hat, CVSS 8,3) и была найдена исследователем Microsoft Биллом Демиркапи (Bill Demirkapi), который впервые сообщил о проблеме еще 24 января 2024 года.
Ошибка кроется в исходном коде httpboot.c для Shim, который используется для загрузки сетевого образа по HTTP.
«При получении файлов через HTTP или родственные протоколы, shim пытается выделить буфер для хранения полученных данных, — говорится в коммите для исправления бага в httpboot.c. — К сожалению, это означает получение размера из HTTP-заголовка (Content-Length), которым можно манипулировать, чтобы задать размер, меньший, чем полученные данные».
В результате потенциальный злоумышленник подучает возможность добиться out-of-bounds записи. Иными словами, уязвимость позволяет злоумышленнику создать конкретный вредоносный HTTP-запрос, что приводит к полностью контролируемому примитиву записи за пределами границ.
Подробная информация об этом дефекте была опубликована еще в начале февраля 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 используют такие дистрибутивы, как Debian, Red Hat, SUSE и Ubuntu, и для них уже выпущены рекомендации по исправлению CVE-2023-40547. Пользователям Linux рекомендуется обновиться до последней версии Shim (15.8), которая содержит патч для CVE-2023-40547 и пяти других важных проблем.
Eclypsium объясняет, что пользователи Linux также должны обновить UEFI Secure Boot DBX, включив в него хеши уязвимого Shim, и подписать исправленную версию действительным ключом Microsoft. Стоит отметить, что некоторые дистрибутивы Linux даже предоставляют GUI-инструмент для выполнения этого обновления.
Обновление DBX
Массовая эксплуатация этой уязвимости маловероятна, однако это не та ошибка, которую следует игнорировать, поскольку выполнение кода до загрузки ОС является одной из самых серьезных и незаметных форм компрометации.
С заботой о вашей безопасности, команда Origin Security