Исследователи ExPatch нашли уязвимость в HTML-экспорте переписки Telegram Desktop. Содержимое inline-кнопок попадало в файл без санитизации, поэтому JavaScript внутри кнопки мог выполниться в браузере.
🔹 Как это работало: при формировании HTML-экспорта текст кнопок записывался напрямую через button.text.toUtf8(), минуя экранирование SerializeString()
🔹 Сценарий: атакующий пересылает в чат сообщение с вредоносной кнопкой, пользователь позже экспортирует историю в HTML и открывает файл, код выполняется в контексте страницы
🔹 Что доступно атакующему: тексты сообщений, метаданные чата, содержимое страницы, локальный путь к файлу. Экспорт можно подменить поддельной формой авторизации
Telegram исправил проблему в коммите 8457d13a: текст inline-кнопок теперь тоже проходит SerializeString(). Патч вошёл в Beta v6.9.4 и Stable v7.0.1, публичного CVE пока нет.
Старые HTML-экспорты из уязвимых версий клиент не переписывает, с такими файлами стоит обращаться осторожно.
Разбор исследователей: https://clck.su/UoJao
Полная статья: https://clck.su/UoJao