TGViewer
FSCP FSCP @f_s_c_p · 13.4K subscribers
Post #123963 341
🐌 Вышел убойный разбор свежей уязвимости в Telegram Desktop... аккаунт можно угнать через точку с запятой.

Когда вы кликаете по ссылке tg:// в браузере, винда запускает второй процесс Telegram.exe. Тот видит, что клиент уже запущен, и передает ссылку работающему экземпляру через локальный сокет. Разрабы ТГ не стали заморачиваться со сложной сериализацией и написали протокол из трех моментов... ключевое слово, аргумент и точка с запятой в конце (например, OPEN:tg://x?a=1;). Экранировать сам передаваемый URL не стали или забыли 💩. Стоило запихнуть в тело ссылки символ ;, как парсер работающего клиента резал строку на две независимые команды ⚰️

Вторая половина пазла - забытый легаси-хлам. Внутри кода ТГ Desktop годами жил недокументированный внутренний протокол interpret:, который когда-то написали для скрипта автоматической публикации релизов. Он принимал текстовый файл с инструкциями (file: <путь> и channel: <ID чата>), читал указанный файл с диска и отправлял его в чат без диалогового окна и без какой-либо проверки прав 😗

Хакерская цепочка эксплуатировала связку с изяществом лома. Сначала жертву добавляют в левую группу и скидывают туда текстовый файлик с путем к файлу сессии. Десктопный клиент по умолчанию скачивает файлы до 8 МБ в downloads. Затем в чат кидают линк на сайт, сервер злоумышленника отдает 302й редирект на tg:// со сбросом через относительный путь ../../../Downloads/..., срабатывает инъекция... и ТГ сам загружает файлы авторизации на сервер атакующего ⚰️

Самая вкуснятина почему это приводило к мгновенному захвату акка. ТГ шифрует файлы сессии в папке tdata, но ключ шифрования генерится из локального код-пароля. А поскольку 99% пользователей локальный пароль в настройках десктопа не ставят, ключ шифрования создавался из… пустой строки и открытой соли. Хацкер забирал файлы key_datas и сессионный ключ, расшифровывал MTProto-авторизацию, подкидывал в чистый клиент и получал готовую сессию. Облачная двухфакторка и SMS-коды здесь не спасали в принципе, потому что копировалась уже валидная, залогиненная сессия.

Разрабы ТГ исправили дыру в версии 7.2.9, выпилив протокол interpret и наконец-то научив IPC экранировать байты. Причем сделали это в лучших традициях - максимально тихо, скромно написав в чейнджлоге "исправление ошибок рендеринга" и обозвав коммит удалением устаревшего хелпера 🤡

Типичный 🥸 Сисадмин

_______
Источник | #sysodmins
@F_S_C_P

▪️Генерируй картинки и видео в Mini App:
Flux + Veo 3 + Wan 2.2 + MidJourney v7 + другие
beaksec Telegram Desktop: one-click account takeover via IPC injection An unescaped separator in Telegram Desktop’s single-instance IPC lets one clicked link read arbitrary files off the disk and send them to the attacker, session files included.
  • ❤ 3
  • 😁 1
More from @f_s_c_p
  1. Oct 13, 2026Троянский конь от ОпСоСов На рынок от российских сотовых операторов вышли новые sim карты…
  2. Oct 13, 2026В GoBalance обнаружена ошибка, позволяющая любому пользователю, используя только общедосту…
  3. Oct 13, 2026Google тестирует новый интересный формат собеседований Теперь кандидату - разработчику даю…
  4. Oct 13, 2026Теперь ИИ-агент может анализировать чужой софт без исходников За последние дни на GitHub в…
  5. Oct 13, 2026"Тощие ноги" и "матерится когда страшно". Что Amazon знает о своих пользователях (и не скр…
  6. Oct 12, 2026Обращу внимание, что такое положение дел наблюдается практически везде в мире. https://t.m…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →