В Telegram исправили уязвимость нулевого дня в настольном приложении для Windows, которую можно было использовать для обхода предупреждений безопасности и автоматического запуска скриптов Python.
bleepingcomputer.com
Так, на хакерском форуме XSS было опубликовано доказательство концепции эксплойта, в котором объяснялось, что опечатка в исходном коде Telegram для Windows может быть использована для отправки файлов Python .pyzw, которые обходят предупреждения безопасности. Файл автоматически запускается, когда пользователь кликает на фишинговое видео.
В Telegram не считают, что ошибка связана с нулевым щелчком мыши, но подтверждает, что исправили её на стороне сервера. Также в мессенджере опровергли необходимость отключить автоматическую загрузку в Telegram, так как не выявили проблем, связанных с ней.
Уязвимость могла затронуть лишь небольшую часть пользователей: менее 0,01% установили Python и используют соответствующую версию Telegram для ПК.
В BleepingComputer спросили у представителей Telegram, откуда они знают, какое программное обеспечение установлено на устройствах Windows пользователей, поскольку этот тип данных не упоминается в Политике конфиденциальности.
Выяснилось, что клиент Telegram Desktop отслеживает список расширений, связанных с высокорисковыми, например, исполняемыми файлами. Когда кто-то отправляет один из этих типов файлов в Telegram, и другой кликает на него, то вместо автоматического запуска соответствующей программы в Windows Telegram сначала отображает следующее предупреждение безопасности: «Этот файл имеет расширение .exe. Он может нанести вред вашему компьютеру. Вы уверены, что хотите его запустить?».
Однако файлы неизвестных типов будут автоматически запускаться в системе. Когда установлен Python для Windows, он связывает расширение .pyzw с исполняемым файлом Python, заставляя Python автоматически выполнять сценарии при двойном щелчке. Расширение .pyzw предназначено для zip-приложений Python.
Разработчики Telegram добавили эти типы исполняемых файлов в список расширений. Однако при этом они допустили опечатку, введя «pywz», а не «pyzw». В итоге файлы автоматически запускались Python.
Это позволяет злоумышленникам обходить предупреждения системы безопасности и удалённо выполнять код на целевом устройстве. Обычно они использовали файлы с mime-типом «video/mp4».
В BleepingComputer протестировали этот эксплойт вместе с исследователем кибербезопасности AabyssZG. Используя старую версию Telegram, журналисты получили от исследователя файл «video.pywz», замаскированный под видео в формате mp4. Он содержит код Python для открытия командной строки, как показано ниже. Однако при клике на видео Python автоматически выполняет сценарий, который открывает командную строку.
Будущие версии приложения Telegram Desktop должны включать предупреждающее сообщение о безопасности, а не добавлять расширение «.untrusted», что повысит безопасность процесса.
Источник: habr.com