Компания по кибербезопасности NebuSec 29 октября раскрыла уязвимость Telegram для Android, которая, по утверждению исследователей, позволяла выполнить код на смартфоне после ответа владельца на личный голосовой звонок. Для вызова было достаточно обычного аккаунта Telegram.
Ошибка уже исправлена. По данным NebuSec, она затрагивала версии с 8.6.2 по 12.10.3 включительно, а патч вошёл в Telegram 12.10.4, выпущенный в конце сентября.
Пользователям Android стоит открыть настройки Telegram и посмотреть номер версии внизу страницы. Если установлена версия ниже 12.10.4, приложение нужно обновить, например через официальную страницу Telegram в Google Play. Отказ от незнакомых звонков может исключить описанный исследователями способ запуска ошибки, но не устраняет саму уязвимость.
Читайте также
Проблема находилась в обработке служебного сообщения MediaState. Такими сообщениями приложения обмениваются во время звонка, передавая состояние микрофона и камеры, а также ориентацию видео. Уязвимый код проверял поле с поворотом видео, но затем обращался к другому, необязательному полю. Если его не было, приложение могло обратиться к памяти, которую не должно было читать.
NebuSec заявила, что подтвердила выполнение кода на смартфонах с архитектурой ARM64 во время личных звонков. Публичного технического разбора всей цепочки атаки и сведений об использовании уязвимости в реальных атаках на момент раскрытия не было.
По данным технического разбора Ostorlab, аналогичное исправление вошло в Telegram для iOS 12.7 в мае и Telegram Desktop 7.0.1 в июле.
