В VPN-клиентах, широко используемых в промышленности, обнаружены уязвимости, позволяющие удаленно выполнить произвольный код с высокими привилегиями. По данным Claroty, искомый эффект можно получить, заманив пользователя на вредоносный сайт.
Проблема актуальна для продуктов HMS Industrial Networks, MB connect line, PerFact и Siemens, полагающихся на технологию OpenVPN. Вендоры уже оповещены и приняли меры для исправления ситуации.
Как оказалось, приложения этих производителей используются как оболочка сервиса OpenVPN,. Клиент-серверная архитектура при этом обычно включает три элемента: фронтенд (простое GUI-приложение, задающее настройки VPN), бэкенд-сервис, получающий команды от пользователя (работает с привилегиями SYSTEM), и OpenVPN-демон, отвечающий за все аспекты VPN-соединения.
Управление бэкендом, как положено, осуществляется по выделенному каналу с использованием интерфейса сокетов, однако почти все протестированные продукты при этом передают данные в открытом виде и без каких-либо проверок на аутентичность. Это значит, что при наличии доступа к TCP-порту, на котором слушает бэкенд, кто угодно может загрузить на сервер новый файл конфигурации OpenVPN с командами, которые будут исправно выполнены.
Для этого достаточно вынудить пользователя кликнуть по ссылке на вредоносный сайт с JavaScript-кодом, способным локально отправить слепой запрос HTTP POST. По словам экспертов, это классический случай SSRF-атаки (подменой запросов на стороне сервера), и злоумышленнику даже не придется поднимать собственный сервер OpenVPN.
Исполнение стороннего кода возможно только в тех случаях, когда автор атаки находится в том же домене сети, что и жертва, или на ее компьютере открыт удаленный доступ по SMB.
Наличие уязвимости подтверждено для четырех популярных продуктов:
- eCatcher производства HMS Industrial (CVE-2020-14498);
- OpenVPN-Client от PerFact (CVE-2021-27406);
- клиент SINEMA Remote Connect компании Siemens (CVE-2021-31338);
- mbConnect Dialup от MB connect line (CVE-2021-33526 и CVE-2021-33527).
В первом случае проблема оценена как критическая (9,6 балла по CVSS), в остальных — как высокой степени опасности. Производители уже внесли исправления в свои коды и опубликовали рекомендации по смягчению угрозы.