🕐 МСК 💵 84.20 ₽ 💶 96.67 ₽ 🇨🇳 12.57 ₽ ₿ 80 289$ Ξ 2 576$ Москва: +17°C ⛅ Благовещенск: +12°C ☀️ 🎊 НГ через Уровень абсурда: 21% 😐

Сообщение, которое ждёт месяцами

Люди, которые ищут баги, иногда оказываются в неловком положении. Ты нашёл дыру, вендор её тихо закрыл, а на просьбу разрешить публикацию отвечает: «не надо». Что делать? Если ты из ExPatch Vulnerability Research — публикуешь всё равно. Именно так они и поступили с хранимой XSS в Telegram Desktop.

Механика простая и потому неприятная. Бот, которого нет в вашем чате, шлёт сообщение с невидимой inline-кнопкой. Внутри кнопки — HTML-тег script. Кто-то пересылает это сообщение в рабочую группу. Telegram сохраняет кнопку, потому что она URL-типа. Скрипт лежит и ждёт.

Ждёт он до того момента, пока кто-нибудь не нажмёт «Экспорт истории чата» в HTML. Telegram Desktop экранирует текст сообщений, имена, поля — но не текст кнопок. Одна строка в export_output_html.cpp просто записывала button.text.toUtf8() на страницу. Так любой HTML в поле text становился живой разметкой. Строка уехала в стабильный релиз ещё в марте 2024-го и прожила там два года и четыре месяца.

Что забирает скрипт, когда файл открывают в браузере? Сообщения из DOM, данные чата из шапки, document.body.innerText. Плюс location.href — а это имя пользователя ОС и структура папок. Никакого второго клика. Никаких предупреждений. Просто 400 миллисекунд, пока страница отрисовывается.

Самое интересное — privacy mode для ботов. Группы спокойно добавляют служебных ботов: погода, опросы, напоминания. Они помечены «не имеет доступа к сообщениям». API им ничего не отдаёт. Но HTML-экспорт ломает эту границу: бот пишет свои сообщения в файл, и оттуда скрипт читает всё, что видит страница.

Фикс вышел в Beta v6.9.4 и Stable v7.0.1. CVE не присвоен, advisory от Telegram нет. Исследователи отказались от вознаграждения и попросили отдать деньги на благотворительность. Публикацию вендор не одобрил, но проблема уже исправлена — так что это раскрытие после патча, без кода эксплойта.

Для себя решите одно: если вы регулярно экспортируете рабочие чаты в HTML и открываете их в браузере — возможно, стоит делать это иначе. Не потому что инструкция, а потому что теперь вы знаете, что там может лежать.

#XSS #Telegram #инфобезопасность #утечки

📰 Читать новость

🌐 Трэвел Трафик

Как вам новость?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *