Понад 125 мільйонів інсталяцій популярних розширень для Visual Studio Code виявилися в зоні ризику через критичні уразливості, які дозволяють зловмисникам викрадати локальні файли та виконувати довільний код на робочих станціях розробників. Компанія OX Security ідентифікувала проблеми в чотирьох плагінах: Live Server, Code Runner, Markdown Preview Enhanced та Microsoft Live Preview.
Чому уразливості розширень Visual Studio Code небезпечні для бізнесу
Сучасний процес розробки ПЗ дедалі більше залежить від IDE та їхніх плагінів так само, як від бібліотек і пакетів. Розширення VS Code мають доступ до файлової системи, можуть підіймати локальні HTTP‑сервери та взаємодіяти з зовнішніми сервісами, фактично стаючи повноцінною ланкою в ланцюжку постачання (software supply chain).
За оцінкою OX Security, одного вразливого або скомпрометованого розширення достатньо, щоб зловмисник здійснив бокове переміщення всередині інфраструктури та поставив під загрозу всю організацію. Для корпоративних команд розробки це означає ризик витоку вихідного коду, секретів (API‑ключів, токенів доступу), конфігурацій CI/CD, артефактів збірок і внутрішньої документації.
Live Server (CVE-2025-65717): ексфільтрація файлів через localhost без кліків
Найсерйознішою визнана уразливість CVE-2025-65717 у розширенні Live Server з оцінкою 9,1 за шкалою CVSS. Плагін запускає локальний HTTP‑сервер (типово на localhost:5500) для попереднього перегляду веб‑сторінок. Проблема полягає в тому, як цей сервер обробляє запити з браузера.
Сценарій атаки: розробника спонукають відкрити спеціально підготовлений сайт у момент, коли Live Server активний. Вбудований у сторінку JavaScript надсилає запити до localhost:5500, зчитує файли з машини жертви та передає їх на сервер під контролем атакувальника. Таким чином, браузер перетворюється на «проксі» для ексфільтрації локальних файлів через localhost.
Ключова причина ризику — відсутність коректної перевірки джерела запиту (origin) та політик ізоляції. Це дозволяє зловмиснику обійти межу між браузером і локальним сервером. На момент підготовки матеріалу виправлення для CVE-2025-65717 ще не опубліковане.
Markdown Preview Enhanced (CVE-2025-65716): виконання JavaScript із markdown
У розширенні Markdown Preview Enhanced виявлено уразливість CVE-2025-65716 з оцінкою 8,8 за CVSS. Плагін підтримує розширений рендеринг markdown, включно з вбудованим HTML та скриптами, що й стало точкою атаки.
Дослідники продемонстрували, що спеціально підготовлений markdown‑файл може призвести до виконання довільного JavaScript‑коду у контексті розширення. Отримавши такий доступ, атакувальник здатен здійснювати сканування локальних портів, звертатися до сервісів на localhost і організовувати витік даних. Особливу небезпеку це становить для спільних репозиторіїв, де шкідливий файл може маскуватися під звичайну документацію. Офіційний патч для CVE-2025-65716 поки відсутній.
Code Runner (CVE-2025-65715): RCE через маніпуляцію налаштуваннями
Розширення Code Runner, яке спрощує запуск коду різними мовами безпосередньо з VS Code, виявилося вразливим до віддаленого виконання коду (RCE). Уразливість CVE-2025-65715 отримала оцінку 7,8 за CVSS.
Для експлуатації помилки зловмиснику достатньо за допомогою фішингу або соціальної інженерії переконати розробника змінити файл settings.json Visual Studio Code. У цьому файлі зберігаються конфігурації розширень, і нав’язана або некоректна настройка дозволяє підмінити команду запуску та домогтися виконання довільних команд на машині жертви. Станом на дату публікації виправлення для CVE-2025-65715 також не доступне.
Microsoft Live Preview: вже виправлена уразливість ексфільтрації
Аналогічний клас проблем дослідники виявили в розширенні Microsoft Live Preview, яке так само використовує локальний сервер для попереднього перегляду веб‑сторінок. Шкідливий сайт у браузері міг надсилати JavaScript‑запити до localhost та витягувати конфіденційні файли з робочої станції розробника.
За даними OX Security, Microsoft усунула уразливість у версії 0.4.16, випущеній у вересні 2025 року. Окремий ідентифікатор CVE не присвоювався, однак природа проблеми така сама: нестача обмежень на взаємодію між браузером і локальним сервером попереднього перегляду.
Практичні рекомендації: як посилити безпеку IDE та розширень VS Code
Інцидент із уразливими розширеннями VS Code наочно показує, що IDE слід розглядати як критичний об’єкт захисту, а не просто робочий інструмент. Компрометація середовища розробки відкриває прямий шлях до вихідного коду, секретів, репозиторіїв і внутрішніх сервісів.
Керування розширеннями та конфігураціями VS Code
OX Security рекомендує максимально обмежувати довіру до конфігурацій з неперевірених джерел. Не варто вносити зміни в settings.json за інструкціями з випадкових форумів або з підозрілих pull‑request’ів. Організаціям доцільно стандартизувати набір дозволених розширень та централізовано контролювати їхні налаштування.
Корисною практикою є регулярний аудит встановлених плагінів із видаленням застарілих або непотрібних. Менша кількість розширень означає меншу площу атаки та спрощує моніторинг оновлень безпеки.
Мережеві обмеження та оновлення
Додатковий рівень захисту забезпечують локальні та мережеві фаєрволи, що обмежують звернення браузера до localhost та контролюють вхідні й вихідні з’єднання IDE. Варто по можливості відключати локальні сервіси попереднього перегляду, коли вони не використовуються, скорочуючи вікно можливих атак.
Критично важливо своєчасно оновлювати розширення та сам Visual Studio Code, відстежувати повідомлення про нові уразливості та оперативно розгортати патчі. Події на кшталт компрометації SolarWinds чи інцидентів із шкідливими пакетами в екосистемах npm та PyPI вже продемонстрували, наскільки руйнівними можуть бути supply chain‑атаки.
Недбало спроєктовані або надмірно привілейовані плагіни здатні змінювати файли проєктів, виконувати системні команди та фактично забезпечувати повне захоплення робочої станції розробника. Одного кліку за посиланням чи відкриття зараженого репозиторію достатньо, щоб уразливе розширення стало початковою точкою проникнення до корпоративної мережі. Компаніям і розробникам варто вже сьогодні включити IDE та їхні розширення до своєї моделі загроз, визначити дозволений набір плагінів, впровадити контроль конфігурацій і навчати команди розпізнавати небезпечні сценарії. Такий підхід істотно зменшує ймовірність того, що наступне вразливе розширення для VS Code переросте у масштабний інцидент кібербезпеки.