Веб-клиент Telegram являлся уязвимым перед кликджекингом

Исследователь информационной безопасности из Египта Мохамед Басет нашел уязвимость в веб-клиенте мессенджера Telegram.

В своем блоге Басет сообщил, что веб-клиент Telegram является уязвимым перед обыкновенными кликджекинг-атаками. Для предотвращения внедрения iframe на сайт веб-версия мессенджера использовала технику frame busting («выталкивание фреймов») вместо заголовка X-Frame-Options.

Басет успешно обошел защиту веб-клиента путем добавления атрибута sandbox к своему iframe.

По словам эксперта, в Telegram присутствовал дополнительный механизм защиты: любым тегам HTML через CSS присваивалось значение «none», вследствие чего успех исследователя сводился на нет, что, впрочем, не остановило его. Басет рассказал, что для продолжения взлома необходимо заблокировать доступ к файлу стиля, ответственного за главную страницу веб-клиента. Чтобы предотвратить доступ к https://web.telegram.org/css/app.css, исследователь предлагает провести атаку типа man-in-the-middle или использовать какую-либо другую технику.

Выполнив описанные выше операции, хакер мог внести изменения в конфиденциальную информацию авторизованного пользователя Telegram, включая пароль и адрес электронного почтового ящика для восстановления данных. Помимо этого, злоумышленник мог пересылать сообщения и отправлять приглашения в группы от имени владельца взломанного аккаунта. Кроме того, можно было отметить все полученные сообщения как прочитанные, дополнительно воспользовавшись CSRF-багом в клиенте.

Разработчики Telegram потратили на устранение проблемы почти 4 дня. 29 апреля Басет объявил, что уязвимость ликвидирована.