Пользователи Telegram Desktop столкнулись с редкой, но неприятной проблемой: в HTML-экспорт переписки можно было спрятать JavaScript, который запускался уже в браузере. Уязвимость закрыли в июле, но старые экспортированные файлы по-прежнему могут нести риск.
Что произошло
Исследователи ExPatch сообщили, что бот мог вставить скрытый скрипт в сообщение, а Telegram Desktop раньше без нужной защиты записывал этот текст в HTML-файл. Внешне сообщение выглядело обычным — с кнопкой-ссылкой, — а опасный код ждал своего часа до открытия экспорта в браузере.
Проблема затронула именно HTML-экспорт переписки. Если такой файл открыть в браузере с включённым JavaScript, скрипт мог прочитать содержимое файла, изменить то, что видит пользователь, и отправить данные на чужой сервер.
Как это сработало
Слабое место оказалось в обработке текста кнопок у сообщений ботов. Telegram Desktop экранировал обычный текст сообщения, имена отправителей и другие поля, но текст кнопки в inline keyboard (встроенной клавиатуре) оставлял как есть.
Из-за этого бот мог подложить в кнопку тег script, а затем замаскировать его невидимыми символами, чтобы на экране всё выглядело пустым или безобидным. Когда пользователь экспортировал чат в HTML и позже открыл файл, браузер выполнял код автоматически.
Риск усиливался ещё и потому, что вредоносное сообщение можно было протащить дальше через пересылку. Исследователи отмечают, что такой пост мог оказаться в группе и пролежать там месяцами или годами, а потом попасть в экспорт уже совсем неожиданно. Это напоминает схему из другой истории с утечкой данных через скрытый бэкдор в служебной системе: атака долго не проявляется, а потом всплывает в самый неудобный момент.
Кого затронуло и чем это грозило
Под удар попадали пользователи Telegram Desktop на Windows, macOS и Linux, если они создавали HTML-экспорт до выхода исправления. Telegram выпустил фикс в стабильной версии 7.0.1 и в beta 6.9.4, но старые файлы обновление не лечит — их надо пересоздать или считать недоверенными.
Исследователи пишут, что сценарий позволял не только читать переписку из файла, но и подменять её. В демонстрации они показали страницу, где весь экспорт превращался в фальшивую форму «проверки» Telegram.
Что именно мог утянуть скрипт:
- текст сообщений;
- имена отправителей и отметки времени;
- название чата, его тип и число участников;
- локальный путь к файлу на компьютере.
Важно и другое: по данным исследователей, эксплойт работал только при трёх условиях сразу — файл должен быть экспортирован старой версией Telegram Desktop, заражённое сообщение должно попасть в экспорт, а браузер должен разрешать выполнение JavaScript. Сам аккаунт Telegram или оригинальный чат на сервере это не меняло.
Что делать сейчас
Если вы пользуетесь Telegram Desktop, обновите приложение до 7.0.1 или новее, а на beta-канале — до 6.9.4 и выше. После обновления старые HTML-экспорты лучше пересоздать, если они вам нужны, либо вообще не открывать их в браузере с активным JavaScript.
Для рабочих архивов и переписок, которые могут пригодиться как доказательство или запись, относитесь к старым HTML-файлам как к недоверенным. Особенно это важно для групповых чатов: там происхождение каждого сообщения проверить сложнее.
Если вам нужно хранить переписку локально и открывать её на ноутбуке вне дома, удобнее заранее продумать общую защиту трафика и приватности устройства. В поездке или кафе это часто важнее, чем кажется на первый взгляд; один из вариантов — частный канал для личного трафика, если вы хотите закрыть хотя бы этот слой риска.
Короткий чек-лист
- Обновите Telegram Desktop до последней версии.
- Не открывайте старые HTML-экспорты в браузере без крайней нужды.
- Если файл нужен, проверьте, что в браузере отключён JavaScript.
- Пересоздайте важные экспортированные переписки после обновления.
- Относитесь к HTML-архивам из групп и ботов как к потенциально опасным.
- Для рабочих и личных файлов держите отдельные копии и не смешивайте их с сомнительными экспортами.
Комментарии (0)
Будьте уважительны. Спам и ссылки на сторонние сервисы скрываются модерацией.
Пока комментариев нет. Вы можете быть первым.