NVault

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