Mastodon Mastodon Mastodon Mastodon

Як уразливість GitHub.dev відкривала доступ до всіх репозиторіїв

Photo of author

CyberSecureFox Editorial Team

Опубліковано:

Дослідник із безпеки Аммар Аскар (Ammar Askar) розкрив вразливість у веб-редакторі GitHub.dev, яка дозволяла зловмиснику викрасти OAuth-токен користувача GitHub під час переходу за спеціально сформованим посиланням. За даними дослідника, вкрадений токен надавав права читання й запису до всіх репозиторіїв жертви, включно з приватними. Microsoft підтвердила проблему й повідомила про її усунення 3 червня 2026 року. Вразливість не зачіпає настільну версію VS Code — лише браузерне середовище GitHub.dev.

Механізм атаки: від кліку до повного доступу

GitHub.dev — це полегшений веб-редактор коду, що запускає середовище VS Code прямо в браузері. Він дозволяє користувачам створювати коміти та надсилати pull-запити без встановлення локального ПЗ. Для автентифікації github.com передає OAuth-токен на github.dev через POST-запит. Як зазначає дослідник, цей токен не обмежений конкретним репозиторієм і надає доступ до всіх репозиторіїв, доступних користувачу.

Ланцюжок атаки, описаний у дослідженні, експлуатує механізм обміну повідомленнями (postMessage) між основним вікном VS Code і компонентами webview, які використовуються для рендерингу Markdown-прев’ю та роботи з Jupyter-ноутбуками. Атака відбувається у кілька етапів:

  1. Шкідливий JavaScript усередині ненадійного webview імітує натискання клавіш (події keydown) в основному вікні редактора.
  2. Імітована комбінація Ctrl+Shift+P відкриває палітру команд VS Code.
  3. Через палітру встановлюється контрольоване зловмисником розширення.
  4. Розширення перехоплює OAuth-токен, переданий на GitHub.dev, і через GitHub API перелічує всі доступні приватні репозиторії жертви.

Обхід перевірки довіри до видавця

Ключовий елемент атаки — використання функції локальних розширень робочої області. VS Code дозволяє встановлювати розширення безпосередньо з папки .vscode/extensions усередині робочої області без відображення додаткового діалогу підтвердження довіри до видавця. За даними дослідника, розширення також можуть реєструвати власні сполучення клавіш через package.json, що дозволяє викликати довільні команди VS Code, зокрема встановлення розширень в обхід перевірки довіреного видавця.

Зачеплені продукти та статус виправлення

Вразливість стосується виключно GitHub.dev і браузерного середовища VS Code for the Web. Як підтвердив Александру Діма (Alexandru Dima), partner development manager у Microsoft: «Ця проблема не зачіпає VS Code Desktop».

Хронологія подій заслуговує на окрему увагу. Дослідник повідомив GitHub про вразливість 2 червня 2026 року і за годину опублікував деталі у відкритому доступі. Таке рішення Аскар пояснив попереднім досвідом взаємодії з Microsoft щодо аналогічних проблем у VS Code. Microsoft повідомила, що вразливість була усунута на боці сервісу 3 червня 2026 року о 7:30 ранку за тихоокеанським часом. За заявою компанії, жодних дій з боку користувачів не потрібно.

Слід зазначити: CVE-ідентифікатор і оцінка CVSS для цієї вразливості не були присвоєні. Публічний PoC-експлойт доступний у блозі дослідника.

Оцінка впливу

Потенційний масштаб проблеми визначається двома чинниками. По-перше, GitHub.dev доступний будь-якому користувачу GitHub — достатньо натиснути клавішу «.» в будь-якому репозиторії. По-друге, за твердженням дослідника, OAuth-токен не був обмежений сферою дії конкретного репозиторію, що означає компрометацію всіх репозиторіїв, до яких має доступ жертва. Для організацій, що зберігають пропрієтарний код, конфігурації інфраструктури або секрети в приватних репозиторіях, наслідки могли бути критичними: від витоку вихідного коду до компрометації ланцюга постачання ПЗ.

Рекомендації

  • Перевірка активності токенів. Організаціям, які активно використовують GitHub.dev, рекомендовано перевірити журнали аудиту GitHub на предмет підозрілих операцій з API у період до 3 червня 2026 року — особливо масових запитів до списку репозиторіїв.
  • Ротація токенів. Якщо є підстави вважати, що користувачі могли переходити за підозрілими посиланнями, які ведуть на GitHub.dev, доцільно відкликати й перевипустити OAuth-токени через налаштування GitHub.
  • Обмеження області дії токенів. Для критично важливих репозиторіїв варто використовувати fine-grained personal access tokens з мінімально необхідними правами замість повноцінних OAuth-токенів.
  • Контроль розширень. У корпоративних середовищах — обмежити перелік дозволених розширень VS Code через політики організації.

Цей інцидент демонструє системну проблему: веб-середовища розробки успадковують модель безпеки браузера, але при цьому працюють з токенами з широкими привілеями. Попри оперативне виправлення з боку Microsoft, організаціям, які використовують GitHub.dev для роботи з приватними репозиторіями, варто провести аудит журналів GitHub за період до 3 червня й переконатися, що принцип мінімальних привілеїв застосовується до токенів доступу.


CyberSecureFox Editorial Team

Редакція CyberSecureFox висвітлює новини кібербезпеки, уразливості, malware-кампанії, ransomware-активність, AI security, cloud security та security advisories вендорів. Матеріали готуються на основі official advisories, даних CVE/NVD, сповіщень CISA, публікацій вендорів і відкритих звітів дослідників. Статті перевіряються перед публікацією та оновлюються за появи нових даних.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.