Mastodon Mastodon Mastodon Mastodon

Уязвимость в GitHub.dev позволяла похитить OAuth-токен с полным доступом к репозиториям

Фото автора

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), партнёр-менеджер по разработке в 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, публикаций вендоров и открытых отчётов исследователей. Статьи проверяются перед публикацией и обновляются при появлении новых данных.

Оставьте комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.