Читать первым в Telegram-канале «Код Дурова»
Telegram для Mac позволяет сохранять самоуничтожающиеся сообщения из секретных чатов и просматривать их без ведома отправителя. Это обнаружили эксперты Trustwave.
Как выяснили исследователи, мультимедийные файлы, исключая вложений, сохраняются в папке кэша, которая расположена по пути: Users -> Admin -> Library -> Group Containers -> XXXXX.ru.keepcoder.Telegram-> appstore -> account-1271742300XXXXX -> postbox -> media, где XXXXX – уникальный номер, привязанный к учетной записи.
Когда получатель читает сообщение, просматривая его содержимое, запускается таймер самоуничтожения, после истечения которого прикреплённые файлы самоуничтожаются. Но, как выяснили исследователи, медиафайлы не удаляются из папки кэша, и их можно сохранить.
Однако, вложения загрузятся только в том случае, если получатель не попытается их открыть. Вероятно, это связано с размером файлов.
Сообщается, что уязвимость уже исправлена в клиенте Telegram для macOS версии 7.7 (215786), как только исследователи сообщили о ней разработчикам. Однако после этого была обнаружена ещё одна ошибка, которая также позволяет сохранять самоуничтожающиеся медиа.
Голосовые и видеосообщения, а также изображения и данные о местоположении автоматически загружаются в кэш, поэтому пользователь может просто скопировать их оттуда перед просмотром в приложении.
Как сообщили разработчики Telegram, эта проблема не может быть исправлена, так как защититься от прямого доступа к папке приложения невозможно:
Обратите внимание, что основная цель таймера самоуничтожения — служить простым способом автоматического удаления отдельных сообщений. Однако есть несколько способов обойти этот механизм, которые выходят за рамки того, что контролирует Telegram (например, копирование папки приложения), и мы четко предупреждаем пользователей об этих обстоятельствах.
Но исследователи не согласились с этим объяснением, так как, по их мнению, эту ошибку можно исправить, например, обрабатывая все самоуничтожающиеся медиа так же, как и вложения, не загружая при этом их в локальную файловую систему до тех пор, пока они не будут открыты.