Исследователь безопасности Сайфелдин Азиз 28 октября представил на OffensiveCon Tokyo результаты годового изучения Telegram. По его словам, несколько уязвимостей позволили запустить код в приложении для iPhone без действий пользователя после доставки специально подготовленного анимированного стикера. Такая атака называется zero-click: человеку не нужно открывать файл или переходить по ссылке.
В основе цепочки находилась rlottie, библиотека для отрисовки анимированных стикеров. Приложение самостоятельно разбирает описание анимации и формирует кадры. Азиз с помощью фаззинга под управлением больших языковых моделей обнаружил в библиотеке несколько ошибок повреждения памяти. Согласно описанию доклада, они затрагивали клиенты Telegram для iOS, Android и настольных систем.
Одних ошибок rlottie было недостаточно: Telegram проверяет загружаемые стикеры на серверах, чтобы опасные файлы не достигали уязвимого кода приложения. Исследователь утверждает, что нашёл отдельные логические ошибки в проверке и доставке стикеров, обошёл серверные и клиентские ограничения и объединил уязвимости в работающую цепочку для iOS. Для Android и настольных клиентов выполнение кода не заявлено.
Исследование показывает риск архитектуры, при которой безопасность уязвимого клиентского кода зависит от серверной фильтрации входных данных. Азиз утверждает, что смог обойти именно этот защитный барьер.
Точные версии Telegram, условия эксплуатации и статус исправления не названы. Полный технический разбор цепочки и её независимое воспроизведение не опубликованы. «Код.ру» сообщает, что Telegram перевёл приложения, включая версию для iOS, на новую библиотеку tlottie, однако неизвестно, исправлены ли логические ошибки проверки и доставки стикеров.
