Уязвимость в обработке emoji ВКонтакте

Приветствую вас, Уважаемые Друзья!

В социальной сети ВКонтакте была найдена очередная уязвимость. Баг self-XSS обнаружил исследователь компании ONsec Дмитрий Бумов, в системе которая отвечает за обработку emoji-смайлов.

Исследователь заметил, что в момент копирования emoji-смайла, в окне сообщения Unicode, к нему можно приписать сторонний JavaScript. В данном конкретном случае можно заставить пользователя делиться чужими постами и записями со своими друзьями или попросту – репостить. Причем сам пользователь об этом даже не будет знать.

Для проверки своей догадки исследователь использовал элементы социальной инженерии. У себя в блоге, а также в группе ВКонтакте, он запостил запись, где говорилось, что в социальной сети появились секретные анимированные смайлы, о которых пока никто не знает. Для того, чтобы их использовать нужно скопировать специальный код и вставить в сообщение.

Уязвимость emoji ВК

Внимательный и продвинутый пользователь тут же заметил бы что вместе со смайлом автоматически добавляется еще один код. Это и есть тот самый скрипт. Причем, в нем напрямую говорится о взломе фразой «You Hacked».

You Hacked

Ну а дальше дело техники – скрипт репостил пост о секретных смайлах из группы Дмитрия в свою новостную ленту. Более того, пользователю даже не нужно было отправлять свое сообщение – скрипт работал и без нажатия кнопки «Отправить».

Бумов поделился с интернет-изданием Tjornal еще одной особенностью. Если в поле сообщения просто вставить какой-то код с открывающим и закрывающим кодом: <script>Какой-то_код</script>, то код не будет отрабатываться.

Но если к нему добавить Unicode-символы, из которых и состоят emoji, то система отработает идеально. Более подробно об этом я писал в статье про emoji-смайлы.

Сообщение в группе ВК

Как говорит сам исследователь, баг он обнаружил еще в 2014 году, но тогда не стал проверять его и не сообщил администрации ВКонтакте. Ну а в этом году Дмитрий все-таки решил испытать свою догадку и его пост о якобы секретных кодах смайлов сумел-таки набрать несколько десятков репостов.

Напомню, что крупные IT-компании обычно платят деньги программистам, тестировщикам и исследователям после того как они сообщат о найденной уязвимости, баге или ошибке.

Однако, ВКонтакте за подобные хитрости и применение социальной инженерии не выплачивает вознаграждений, но в данном случае администрация соц.сети сделала исключение, и Дмитрий Бумов получил символические 100 долларов.

Стоит отметить, что руководство соц.сети оперативно отреагировало на этот сигнал и в данный момент уязвимость исправлена.