Уязвимость Telegram Desktop позволяла красть данные из экспорта чатов

3 мин
39
15 сентября 2026

В Telegram Desktop нашли уязвимость, которая позволяла браузеру выполнить JavaScript-код, скрытый в тексте кнопки, при открытии HTML-выгрузки чата. Исследователи из ExPatch Денис и Александр Ростиловы уточнили, что боту для этого не нужно было вступать в группу или получать доступ к её содержимому. Ошибка присутствовала в мессенджере до бета-версии v6.9.4 и стабильной v7.0.1. В более новых ошибку успешно исправили.

Telegram Desktop добавлял текст кнопок встроенной клавиатуры в HTML-файл без обработки опасных символов. Браузер принимал такой текст за разметку и мог выполнить JavaScript. Функция, которая защищала тексты сообщений и имена участников, не применялась к кнопкам. Поэтому тег `<script>` попадал в выгрузку без изменений.

В приложении Telegram код не выполнялся: текст кнопки показывался как обычная строка. Он срабатывал после открытия файла в браузере. Исследователи показали, что тег можно было спрятать невидимыми символами Hangul Filler. Кнопка выглядела пустой, а ссылка в ней могла вести на обычный сайт.

Бот создавал такое сообщение через Bot API, а затем пользователь пересылал его в группу. Если участник экспортировал чат с этим сообщением и открывал файл, скрипт запускался без клика. Он мог собрать текст переписки, имена отправителей, время сообщений, сведения о чате и путь к файлу. Эти сведения раскрывали имя пользователя операционной системы и структуру каталогов.

Код мог подменить страницу. В демонстрации выгрузка скрывалась, а вместо неё появлялась страница проверки, похожая на Telegram. Поля пароля были заблокированы, а на локальный адрес уходил тестовый адрес электронной почты. Авторы отметили, что этот приём можно было использовать для кражи учётных данных. Злоумышленник также мог менять время сообщений, имена отправителей и текст записей.

Ошибка касалась и ботов с включённым режимом приватности. Они не получали обычные сообщения группы через API, но их собственные сообщения с кнопками попадали в выгрузку. После открытия файла бот мог прочитать всю переписку на странице.

Авторы исследования оценили уязвимость в 8,2 балла по шкале CVSS 3.1. Они выбрали локальный вектор атаки, поскольку ошибка была в модуле выгрузки на компьютере пользователя. При сетевом векторе оценка составила бы 9,3 балла.

Вредоносное сообщение могло долго храниться в истории и распространяться через пересылку. В группах и супергруппах без защиты контента его мог переслать любой участник. Для публикации в канале потребовались бы права администратора.

Уязвимый код появился в феврале 2024 года и 8 марта вошёл в Telegram Desktop v4.15.1. Исправление подготовили в конце июня 2026 года. Ошибка присутствовала в коде около двух лет и четырёх месяцев. Первыми версиями с исправлением стали Beta v6.9.4 от 3 июля и стабильная v7.0.1 от 14 июля. Обновление не меняет старые HTML-файлы. Эксперты обнаружили ошибку 1 июня и направили отчёт в Telegram 3 июня. Компания подтвердила проблему спустя месяц и предложила вознаграждение. Авторы отказались от выплаты и попросили передать деньги на благотворительность.

Важное по теме
Стиральная машина Midea передала 411 МБ данных за 19 часов
Новости
Читать 3 минуты
15.09.2026
Производитель проверяет причину необычного расхода трафика
Новости
Читать 3 минуты
15.09.2026
Пик инцидентов пришёлся на июль
Новости
Читать 3 минуты
14.09.2026
Мошенники обманом получают доступ к корпоративной почте и файлам
Оставьте комментарий
Доступно для авторизованных пользователей
1/1000