Новая дыра в macOS: libAppleArchive позволяет обойти Gatekeeper

Новая дыра в macOS: libAppleArchive позволяет обойти Gatekeeper

Новая дыра в macOS: libAppleArchive позволяет обойти Gatekeeper

Apple снова попала в новости из-за уязвимости — на этот раз в своей библиотеке libAppleArchive, которая используется для работы с архивами .aar. Исследователь Снулли Кеффабер нашёл критическую брешь (CVE-2024-27876, CVSS 8.1), позволяющую не только записывать файлы в произвольные места на диске, но и обходить защиту Gatekeeper.

Всё началось с того, что Кеффабер написал собственный парсер — libNeoAppleArchive — чтобы изучить поведение Apple Archive на Linux.

Работая с логикой обработки симлинков, он заметил странность: архив можно было распаковать так, что один из файлов на выходе оказывался… симлинком в любую другую директорию на системе.

Дальнейшие эксперименты показали, что во время распаковки возникает «состояние гонки» (race condition). Библиотека сначала проверяет, существует ли нужная папка, и только потом пытается её создать.

Если в этот момент подложить симлинк на другую директорию, libAppleArchive всё равно будет считать, что каталог создан, и продолжит писать туда файлы. В результате данные попадут по адресу, на который указывает симлинк — полностью под контролем атакующего.

Повторив структуру из симлинков и файлов в архиве несколько раз, Кеффаберу удалось сильно повысить процент успеха атаки.

На этом он не остановился: следующей целью стал обход Gatekeeper. Оказалось, что стандартная утилита Archive Utility сначала распаковывает файлы во временную директорию, а только потом вешает на них карантинные метки. Если с помощью уязвимости заставить libAppleArchive распаковать файл вне этой директории, он обойдёт карантин и сможет запускаться без предупреждений — что, конечно, опасно.

Уязвимость затрагивает не только macOS. libAppleArchive используется в WorkflowKit (Shortcuts), FlexMusicKit, ClipServices, а также в приложении «Файлы» на iOS, которое тоже умеет распаковывать .aar. Даже если включены проверки пути вроде pathIsValid(), гонка всё равно позволяет их обойти.

Кеффабер опубликовал PoC, продемонстрировав, что атака вполне реалистична, хотя и требует знания таких деталей, как переменная $TMPDIR.

Apple уже закрыла дыру в свежих апдейтах, так что срочно обновляйтесь — уязвимость серьёзная, а эксплойт уже в сети.

Google построила в Android клетку для ИИ-агентов, но пока она пустует

В Android появился системный механизм, который позволит ИИ-агентам выполнять действия внутри приложений без имитации нажатий по экрану. Доступ защищён специальным разрешением, однако на обычном смартфоне найти соответствующий переключатель пока не получится: технология AppFunctions остаётся экспериментальной, а её интеграция с Gemini доступна лишь избранным тестировщикам.

AppFunctions позволяет разработчикам превратить отдельные возможности приложений в инструменты для агентов.

Например, вместо открытия календаря и блуждания по интерфейсу Gemini сможет напрямую вызвать функцию создания события. Аналогичным образом агент сможет составить плейлист, добавить товары в список покупок или объединить действия нескольких программ.

По смыслу это мобильный аналог MCP: приложение заранее описывает доступные операции, Android регистрирует их, а аутентифицированный агент выбирает и запускает нужную функцию по запросу пользователя. Интерфейс приложения может меняться сколько угодно.


Чтобы обнаруживать и выполнять такие функции, вызывающая программа должна получить системное разрешение EXECUTE_APP_FUNCTIONS. Оно не отображается в обычном меню настроек и предназначено для одобренных агентов и ассистентов. Сам механизм доступен начиная с Android 16.

Но захват смартфонов роботами откладывается. Google прямо помечает AppFunctions как экспериментальную, предупреждает о возможных изменениях API и пока допускает к полному циклу только ограниченное число приложений и системных агентов. Разработчики могут подготовить и протестировать функции, но подключение к Gemini остаётся закрытым и требует участия в программе раннего доступа.

В перспективе такая архитектура должна быть надёжнее агентов, которые управляют телефоном через ADB и просто тыкают по экрану. Заодно Google заранее ограничивает круг программ, способных распоряжаться чужими функциями.

RSS: Новости на портале Anti-Malware.ru