Новая дыра в 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 уже закрыла дыру в свежих апдейтах, так что срочно обновляйтесь — уязвимость серьёзная, а эксплойт уже в сети.

В Android впервые показали журнал взломов и утечек данных

Google продолжает отбиваться от репутации Android как «менее защищённой» платформы по сравнению с iOS. Один из ключевых аргументов в этой борьбе — функция Intrusion Detection, а точнее её часть под названием Intrusion Logging («логирование вторжений»), которая должна помочь пользователям проверить, не был ли их смартфон взломан и не утекли ли личные данные.

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

Информация появилась благодаря реверс-инжинирингу Google Play Services версии 26.02.31. Именно там удалось обнаружить интерфейс и детали будущей функции, которая, судя по всему, готовится к запуску в Android 16.

Суть Intrusion Logging довольно простая: система записывает важные события на устройстве, чтобы в случае инцидента можно было восстановить картину происходящего. Эти логи шифруются и сохраняются в облаке, причём доступ к ним будет только у владельца устройства или доверенного аккаунта.

 

 

В настройках Android опция Intrusion Logging появится в разделе Advanced Protection. При включении защиты устройства пользователю сразу предложат активировать сбор логов — хотя этот шаг можно и пропустить. На приветственном экране система отдельно подчёркивает, что данные защищены сквозным шифрованием.

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

Если пользователь заподозрит, что с безопасностью смартфона что-то не так, интерфейс Intrusion Logging позволит скачать логи локально — для анализа или передачи специалистам.

Пока функция официально не запущена, и Google не называла точные сроки. Учитывая, что Intrusion Detection анонсировали ещё до выхода Android 16, ожидается, что Intrusion Logging может появиться вместе со стабильным релизом Android 16 QPR3, но гарантий на этот счёт пока нет.

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