Специалист Google обнаружил проблему в Telegram для macOS. Уязвимость позволяет обойти контроль доступа приложений к файлам и получить несанкционированный доступ к микрофону и камере пользователя. Разработчики уже подтвердили наличие бага и сообщили, что исправление находится на рассмотрении Apple.

Уязвимость CVE-2023-26818 обнаружил и детально описал инженер Google Дэн Рева (Dan Revah). По его словам, проблема была найдена еще в феврале, однако связаться с разработчиками Telegram ему не удалось, и поэтому теперь информация о баге была опубликована в открытом доступе до выхода патчей.

В своем блоге Рева объясняет, что уязвимость позволяет внедрить в Telegram для macOS динамическую библиотеку, осуществить локальное повышение привилегий и получить доступ к камере и микрофону через разрешения, которые ранее уже были установлены в Telegram. Он подчеркивает, что даже пользователь root в macOS не имеет разрешения на доступ к микрофону, записи экрана и так далее, если предварительно не было получено прямое согласие на такие действия от пользователя.

Проблема связана с механизмом контроля доступа приложений к файлам (Transparency, Consent, and Control или TCC), который используется в macOS. Этот механизм управляет доступом к защищенным конфиденциальным областям в ОС, и приложения могут получить к ним доступ только путем получения разрешения от пользователя или после обнаружения намерений пользователя через определенное действие.

Также важными защитными механизмами являются Entitlements и Hardened Runtime. Первый из них отвечает за разрешения, предоставляемые конкретному бинарнику для получения определенных привилегий, а второй защищает целостность ПО во время выполнения, предотвращая определенные типы атак, такие как инжекты, DLL hijacking и вмешательство в пространство памяти процессов, наряду с  System Integrity Protection (SIP).

Интересно, что iOS требует, чтобы приложения, загружаемые в App Store, использовали права Hardened Runtime, а вот для macOS таких требований нет.

Рева выяснил, что приложение Telegram из AppStore не использует эти защитные механизмы должным образом, что позволяет использовать переменную среды DYLD_INSERT_LIBRARIES, которая содержит список библиотек, загружаемых перед запуском приложения. В итоге отсутствие Hardened Runtime позволяет внедрить вредоносную динамическую библиотеку и не заботится о правах. В результате библиотека будет запущена еще до запуска самого Telegram, предоставляя доступ к запрещенным в противном случае функциям.

В качестве демонстрации эксперт создал динамическую библиотеку dylib на Objective-C, которая захватывала видео с камеры жертвы и сохраняла запись в отдельный файл (исследователю пришлось обойти песочницу терминала с помощью LaunchAgents). Разумеется, все это происходило без ведома пользователя.

Теперь, когда эта проблема привлекла внимание ИБ-сообщества и СМИ, разработчики Telegram наконец ответили специалисту.

Официальный аккаунт Telegram в Twitter сообщает, что уязвимость актуальна только для устройств Apple уже зараженных малварью с root-доступом, а также присутствует только в версии Telegram, загруженной из AppStore. То есть если в приложении с официального сайта уязвимости уже нет. В компании сообщают, что патч уже находится на рассмотрении Apple, так что версия в AppStore тоже скоро будет исправлена.

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

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

    Подписаться

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