Как обычный звонок в Telegram мог открыть путь к контролю над Android-смартфоном?

NebuSec сообщила об уязвимости в Telegram для Android, которую, по утверждению компании, можно было объединить с двумя другими ошибками и получить полный контроль над телефоном. Атакующему требовался обычный аккаунт Telegram, а владельцу устройства — принять личный голосовой вызов. Цепочка позволяла выйти за пределы приложения в Android; вместе с эксплойтом для получения root-доступа она могла открыть доступ к сообщениям, микрофону и камере. NebuSec заявила, что не обнаружила реальных атак и полагала, что прежде никто не распознал возможность превратить ошибку в удалённое выполнение кода (RCE).
Как обычный звонок в Telegram мог открыть путь к контролю над Android-смартфоном?
Изображение носит иллюстративный характер

По словам сооснователя и генерального директора NebuSec Этена Зоу, уязвимость затрагивала версии Telegram для Android с 8.6.2 по 12.10.3. Они выходили с марта 2022 года по сентябрь 2026-го. Вызвавший ошибку код появился в версии 8.6.2. Исправление вошло в версию 12.10.4, выпущенную в сентябре. Пользователям следует проверить номер версии внизу страницы «Настройки» и обновить приложение как минимум до 12.10.4. По состоянию на 29 октября у уязвимости не было идентификатора CVE.
Атака срабатывала лишь в том случае, если жертва отвечала на звонок. По словам Зоу, её блокировала настройка конфиденциальности звонков «Никто»; достаточно было и отклонить вызов. NebuSec подтвердила проблему на телефонах с ARM64 в личных голосовых звонках. Доказательств прямого воздействия на приложения Telegram для iOS и компьютеров, а также на групповые звонки компания не представила. Не установлено и то, можно ли было использовать прежний код в этих версиях.
Во время звонка приложения обмениваются короткими сообщениями, чтобы установить соединение и передавать его состояние. Один из типов сообщений, MediaState, сообщает, выключен ли микрофон, включена ли камера и как повёрнуто видео. По описанию NebuSec, ошибка находилась в обработке MediaState: код неправильно разбирал сообщения с пропущенными полями и обращался к памяти, к которой не должен был обращаться. The Hacker News проверило опубликованный исходный код Telegram версии 12.10.3 и нашло соответствующий описанию дефект: если в MediaState было значение поворота, программа проверяла его, а затем читала поле состояния видео, даже когда такого поля в сообщении не было. В версии 12.10.4 значение поворота читается из правильного поля.
NebuSec сообщила Telegram об ошибке 26 сентября, уже после выхода версии 12.10.4. По словам Зоу, Telegram подтвердил получение сообщения, но не счёл, что дефект можно превратить в RCE. Идентификатор CVE назначен не был, вознаграждение по программе поиска ошибок не выплачивалось. The Hacker News запросило комментарий у Telegram. В ролике NebuSec показаны два телефона с подписями «атакующий» и «жертва»: после принятия вызова примерно через полминуты экран жертвы переключается на главный, значки приложений падают вниз, появляется надпись «ВЗЛОМАНО NEBUSEC». Версии Telegram и Android на телефоне в видео не указаны. На 29 октября компания ещё не опубликовала технический разбор, поэтому сведения о цепочке атаки и двух дополнительных ошибках основывались на ролике и заявлениях NebuSec.
Приложения Telegram для Android, iOS и компьютеров используют общую библиотеку звонков tgcalls. Исправление под названием «Fix camera rotation» внесли в неё 21 апреля 2026 года. В Telegram для iOS оно появилось в версии 12.7, выпущенной в мае; в настольной версии 7.0.1, выпущенной в июле; в Android-версии 12.10.4, вышедшей в сентябре. Сам факт общего кода не доказывает, что прежняя реализация была уязвима в приложениях для iOS или компьютеров.
NebuSec — стартап, поддерживаемый Y Combinator. Компания утверждает, что ошибку нашёл её продукт Code Security, работающий на модели GPT-5.4 от OpenAI. В июле NebuSec рассказывала о другой цепочке эксплойтов для Android: она начиналась с уязвимости в Firefox и доходила до ядра устройства ARM64 под управлением Android 17.
Отдельное исследование библиотеки стикеров Telegram описала Zero Day Initiative (ZDI). В опубликованном 15 октября предупреждении речь шла о неисправленной уязвимости в rlottie — библиотеке, которую приложения Telegram использовали для отображения анимированных стикеров. Ошибке присвоили номер CVE-2026-111105 и оценку CVSS 7.0. По данным ZDI, злоумышленник мог добиться выполнения кода, если пользователь открывал вредоносный файл или страницу. В марте Telegram сообщил ZDI, что риск снижают серверные проверки; в апреле компания попросила предоставить полную цепочку RCE. Исследователь Саифельдин Азиз в аннотации к докладу для конференции OffensiveCon в Токио написал, что эти проверки можно обойти.
В исследовании использовали управляемый ИИ фаззинг: программе подавали большие объёмы повреждённых или неожиданных данных, чтобы находить ошибки повреждения памяти в rlottie. Уязвимости обнаружили в версиях библиотеки для Telegram на iOS, Android и компьютерах, а затем связали их с недостатками доставки и проверки стикеров. Получившаяся цепочка позволяла выполнить код в Telegram для iOS.
Согласно опубликованному исходному коду Telegram, Android-приложение заменило rlottie на tlottie, библиотеку на языке Rust, между версиями 12.8.1 и 12.10.0: первая вышла в июне, вторая — в августе. Настольный Telegram перешёл на tlottie в сентябре. В коде iOS-приложения tlottie появилась в версии 13.0, выпущенной в октябре, но rlottie там всё ещё оставалась. В описании материала также уточнялось, что его начало обновили, добавив сведения о цепочке из трёх ошибок в Android, а фразу об исследовании стикеров исправили.


Новое на сайте

Ссылка