
Исследователи ExPatch обнаружили, что текст inline-кнопки бота попадал в HTML-экспорт без экранирования. Злоумышленник мог спрятать в кнопке JavaScript, а сообщение с ней - переслать в группу. Самому боту вступать в группу не требовалось.
Код срабатывал, когда участник экспортировал чат в HTML и открывал страницу в браузере. После этого скрипт мог прочитать сообщения, отображённые на открытой странице, отправить их на сторонний сервер или подменить содержимое страницы. Простое чтение чата в приложении атаку не запускало.
Уязвимость исправлена в Telegram Desktop 7.0.1 и новее. Но обновление не исправляет HTML-файлы, созданные старой версией: подозрительные архивы лучше экспортировать заново после обновления.
The Ghost in the Chat: stored XSS in Telegram Desktop HTML export - ExPatch
Stored XSS in Telegram Desktop's HTML export: a bot that never joins your group plants invisible JavaScript in an inline keyboard button; the payload detonates when a participant opens the exported file. Fixed in v6.9.4/v7.0.1; CVE pending. Analysis by ExPatch research.expatch.com