Брешь позволяла злоумышленнику имитировать активность в секретных чатах от имени пользователей.
Пользователь Habrahabr с ником visput обнаружил потенциальную уязвимость в приложении для защищенного обмена сообщениями Telegram, разработанном создателем "ВКонтакте" Павлом Дуровым. Речь идет о клиентах Telegram для мобильных платформ iOS и Android, чей исходный код находится в открытом доступе.
Специалист сравнил исходные коды iOS- и Android-версий мессенджера и обнаружил, что в разных версиях приложения существуют отличия в алгоритме дешифрования сообщений. Android-версия не сравнивает хэш дешифрованного сообщения с оригинальным хэшем, который передается вместе с зашифрованным сообщением - де факто, отсутствует проверка подписи сообщения. Третьи лица могут проэксплуатировать брешь и сымитировать случайную активность от имени участников секретного чата. Отметим, что при этом секретный ключ остается неуязвимым для третьих лиц.
Обмен сообщениями в Telegram состоит из трех этапов: генерации общего секретного ключа, шифрования исходящего сообщения и дешифровки входящего сообщения. Общий секретный ключ генерируется на основе протокола Диффи-Хеллмана.
iOS-версия приложения выполняет три проверки: сравнивает хэш общего секретного ключа из входящего сообщения с хэшем локального общего секретного ключа, длину дешифрованного сообщения с допустимой длиной, а также хэш полученного дешифрованного сообщения с хэшем оригинального сообщения. В версии для Android осуществляется лишь первая проверка.
Разработчики исправили потенциальную уязвимость в репозитории исходного кода на Github и обновили сборку приложения в Google Play. За обнаруженную уязвимость исследователь получил вознаграждение в размере $5000.
В Telegram исправлена потенциальная уязвимость
Брешь позволяла злоумышленнику имитировать активность в секретных чатах от имени пользователей.Брешь позволяла злоумышленнику имитировать активность в секретных чатах от имени пользователей.Также по теме: