Ряд опасных уязвимостей в расширениях редактора исходного кода Visual Studio Code позволяет потенциальным атакующим скомпрометировать целевые устройства и даже развернуть системы с помощью интегрированной среды разработки (integrated development environment, IDE).
В результате успешной эксплуатации злоумышленники смогут удалённо запустить произвольный код в системе целевого разработчика. В сущности, выявленные уязвимости открывают возможность для атак на цепочки поставок.
Проблемными расширениями, вызвавшими у исследователей вопросы, стали LaTeX Workshop, Rainbow Fart, Open in Default Browser и Instant Markdown. Общее количество скачиваний этих расширений равно приблизительно двум миллионам.
«Компьютеры разработчиков, как правило, хранят важные учётные данные, с помощью которых девелоперы взаимодействуют с разными частями продукта. Утечка закрытого ключа может позволить злоумышленнику клонировать отдельные куски кода и части разрабатываемого продукта. Также атакующий может подключиться к серверам, принимающим участие в производстве», — пишут специалисты Synk, обнаружившие проблемы безопасности.
Расширения Visual Studio Code работают по принципу аддонов для браузеров. С их помощью разработчики могут добавлять дополнительные функции и языки программирования в редактор исходного кода. На сегодняшний день база активных пользователей VS Code насчитывает 14 миллионов человек, то есть поверхность вероятной кибератаки действительно большая.
В одном из вариантов эксплуатации выявленных уязвимостей специалисты Synk показали, как киберпреступник может использовать дыру вида Path Traversal для извлечения любого файла, хранящегося на целевой машине. Чтобы задействовать брешь в атаке, злоумышленникам всего лишь нужно заставить разработчика перейти на определённому URL.
Помимо этого, атакующий вполне может выкрасть SSH-ключи разработчика, работающего с расширением VS Code Instant Markdown.