Calif бросает вызов: обойти защиту Apple MIE с помощью двух уязвимостей
Компания Calif, ещё в мае продемонстрировавшая первый публичный обход механизма Apple MIE (Memory Integrity Enforcement) на macOS 26.4.1, теперь опубликовала детали двух уязвимостей, лежавших в основе их эксплойта. Технические подробности придерживались до выхода исправлений в macOS 26.6; полный разбор цепочки авторы обещают представить на конференции Black Hat USA 5 августа. С марта команда сообщила Apple о 38 уязвимостях — и счёт продолжает расти.
Две ошибки в открытых компонентах
Обе уязвимости находятся в подсистемах, чей исходный код Apple публикует открыто. И SMB, и WebDAV в macOS устроены по «раздельной» схеме: файловая система живёт в ядре, а вспомогательный агент в пространстве пользователя занимается сессией или HTTP-транспортом. Атака в обоих случаях исходит от вредоносного сервера, к которому подключается клиент.
Первая ошибка (CVE-2026-64704) — путаница типов в обработке create-контекстов SMB2. Клиент отправляет контекст «Resolve ID», сохраняя на стеке структуру, первое поле которой — номер inode, фактически подконтрольный вызывающей стороне. При разборе ответа код смотрит не на то, что было отправлено, а на четырёхбайтовое имя контекста в ответе сервера. Злонамеренный сервер отвечает контекстом аренды (RqLs), и парсер послушно интерпретирует структуру Resolve ID как совсем другой тип — превращая контролируемое число inode в указатель, который затем разыменовывается.
Вторая ошибка (CVE-2026-64699) — раскрытие содержимого неинициализированной памяти в пути чтения WebDAV. Когда программа читает ещё не скачанный участок файла далеко впереди кэша, ядро запрашивает байты напрямую. Здесь совпали три по отдельности безобидных решения: буфер размером до 16 МБ выделяется без обнуления (в исходнике, к слову, красуется опечатка 16 * 1024 * 1204), агент считает успехом любой HTTP-статус 2xx — включая пустой ответ 206, — а ядро копирует пользователю ровно столько байтов, сколько запросило, не проверяя, сколько реально пришло. В итоге наружу утекает всё, что раньше лежало в этих страницах.
Приглашение к состязанию
Сочетание инфолика и путаницы типов даёт примитивы чтения и записи в памяти ядра и, в перспективе, выполнение кода. Но между этими двумя багами и правами root лежит «сетка» перекрывающихся защит MIE — на уровне железа, гипервизора, ядра и пользовательского пространства.
Calif сознательно делает задачу искусственной: не искать самый лёгкий путь к повышению привилегий, а именно с помощью этих двух уязвимостей преодолеть механизмы защиты памяти ядра и добраться до root на современной macOS с полностью включённым MIE. По мнению авторов, эксплуатация ядра XNU сегодня — один из самых сложных и интересных ориентиров для разработки эксплойтов с участием ИИ. Самой команде путь от находки багов до отточенного эксплойта занял около пяти дней. К участию приглашаются люди, ИИ и смешанные команды; своё решение Calif обнародует после выступления на Black Hat.
Источник: Lobsters
Комментарии
Войдите, чтобы комментировать.