Уязвимость в Telegram Desktop может позволить специально созданным сообщениям бота выполнять JavaScript внутри HTML-файлов чата, потенциально раскрывая сообщения и метаданные, содержащиеся в этих файлах.
Уязвимость была исправлена в июле, примерно за два месяца до её публичного раскрытия, но HTML-экспорт, созданный с помощью более старых уязвимых версий, может оставаться опасным даже после обновления Telegram Desktop.
Исследователи Денис Ростилов и Александр Ростилов из ExPatch Vulnerability Research обнаружили эту проблему 1 июня 2026 года при изучении функции экспорта HTML в Telegram Desktop. Два дня спустя сообщили в Telegram, предоставив также демонстрационные примеры решения проблемы.
По словам исследователей, Telegram Desktop не мог должным образом очистить текст, отображаемый внутри встроенных кнопок клавиатуры, при генерации этих HTML-файлов.
В то время как обычное содержимое сообщений и другие поля экранировались перед записью в экспортируемый файл, текст кнопок вставлялся непосредственно в документ.
Таким образом, злоумышленник может создать сообщение для бота, содержащее скрытый элемент «скрипт» внутри кнопки. В Telegram это сообщение будет выглядеть практически нормально, поскольку само приложение не интерпретирует текст кнопки как HTML.
Необычность этой атаки заключается в том, что вредоносному боту не обязательно принадлежать к целевой группе или иметь разрешение на чтение его сообщений.
Злоумышленник может отправить подготовленное сообщение в другое место, а другой пользователь перешлет его в целевой чат. Telegram сохраняет определенные встроенные кнопки при пересылке сообщений, что позволяет вредоносному содержимому оставаться в скрытом виде в истории чата.
Однако для эксплуатации уязвимости требуется несколько дополнительных шагов. Жертва должна создать HTML-файл, экспортированный с помощью уязвимой версии Telegram Desktop, включить в этот экспорт вредоносное сообщение, а затем открыть полученный файл в браузере.
В этот момент встроенный JavaScript мог выполняться и получать доступ к информации, отображаемой на странице, включая экспортированные сообщения, имена отправителей, временные метки и метаданные чата.
Исследователи также продемонстрировали, что скрипт может изменять внешний вид документа, потенциально заменяя экспортированную переписку фишинговой страницей или изменяя способ отображения истории чата.
Это делает данную уязвимость потенциально серьезной проблемой XSS, но не такой, которая может поставить под угрозу безопасность пользователей просто путем получения или просмотра сообщения в Telegram.
Telegram исправил уязвимый код в коммите 8457d13a, применив ту же самую процедуру очистки HTML-кода, которая уже использовалась в других местах процесса экспорта.
Исследователи сообщают, что исправление впервые появилось в Telegram Desktop Beta 6.9.4 3 июля и стабильной версии 7.0.1 14 июля.
Post #8622
5.98K