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

Фото автора

CyberSecureFox Editorial Team

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

Исследователь безопасности Аммар Аскар (Ammar Askar) опубликовал детали атаки на браузерную среду GitHub.dev, позволяющей похитить OAuth-токен GitHub с правами чтения и записи во все доступные пользователю репозитории, включая приватные. Для эксплуатации достаточно одного клика по вредоносной ссылке. Microsoft подтвердила уязвимость и заявила о работе над исправлением, уточнив, что десктопная версия VS Code не затронута. CVE-идентификатор и оценка CVSS на момент публикации не присвоены, однако существует публичный PoC-эксплойт.

Механизм атаки

GitHub.dev — это облегчённый веб-редактор кода на базе VS Code, работающий в песочнице браузера. Он позволяет отправлять pull-запросы и делать коммиты напрямую из браузера. Для авторизации GitHub.com передаёт OAuth-токен на GitHub.dev через POST-запрос. По данным исследователя, этот токен не ограничен конкретным репозиторием и предоставляет доступ ко всем репозиториям, доступным пользователю.

Цепочка эксплуатации включает несколько этапов:

  1. Выполнение JavaScript в webview — атакующий использует механизм передачи сообщений между основным окном VS Code и webview-компонентами (используются для рендеринга Markdown-превью и редактирования Jupyter-ноутбуков). Вредоносный JavaScript выполняется внутри недоверенного webview.
  2. Симуляция нажатий клавиш — скрипт имитирует события keydown в основном окне редактора, вызывая комбинацию Ctrl+Shift+P для открытия палитры команд.
  3. Установка вредоносного расширения — через палитру команд устанавливается контролируемое атакующим расширение, которое перехватывает OAuth-токен, переданный на GitHub.dev.
  4. Эксфильтрация данных — расширение использует GitHub API для перечисления всех приватных репозиториев, к которым имеет доступ жертва.

Обход проверки доверия к издателю

Ключевой элемент атаки — использование функции локальных расширений рабочего пространства (local workspace extensions). Если расширение размещено в папке .vscode/extensions внутри рабочего пространства, оно устанавливается без дополнительного диалога подтверждения доверия к издателю. Кроме того, расширения могут через package.json регистрировать собственные привязки клавиш, что позволяет атакующему программно вызывать произвольные команды VS Code, включая установку расширений с обходом проверки доверия.

Оценка воздействия

Уязвимость представляет серьёзную угрозу для разработчиков, активно использующих GitHub.dev для работы с репозиториями. Основные риски:

  • Компрометация исходного кода — похищенный токен, по данным исследователя, даёт права на чтение и запись во все доступные репозитории, что открывает возможность для внедрения вредоносного кода в цепочку поставок.
  • Доступ к приватным репозиториям — атакующий получает возможность перечислить и прочитать содержимое закрытых репозиториев, потенциально содержащих конфиденциальную информацию, ключи API и секреты инфраструктуры.
  • Масштабируемость атаки — эксплуатация требует лишь одного клика от жертвы, что делает её пригодной для массовых фишинговых кампаний, нацеленных на разработчиков.

Важно подчеркнуть: на данный момент нет подтверждённых случаев эксплуатации этой уязвимости в реальных атаках. Статус — наличие публичного PoC-кода. Точный охват полномочий OAuth-токена основан на утверждениях исследователя и не подтверждён формальным бюллетенем безопасности от Microsoft или GitHub.

Контекст раскрытия

Исследователь сообщил об уязвимости в трекер microsoft/vscode 2 июня 2026 года и практически сразу опубликовал технические детали. Такой подход к раскрытию исследователь мотивировал предыдущим опытом взаимодействия с Microsoft по уязвимостям в VS Code — в частности, ссылаясь на случаи, когда аналогичные проблемы оставались без своевременного исправления. Партнёр-менеджер по разработке ПО в Microsoft Александру Дима (Alexandru Dima) подтвердил, что компания работает над исправлением, и отдельно уточнил, что десктопная версия VS Code не подвержена данной уязвимости.

Рекомендации

До выпуска официального исправления от Microsoft целесообразно предпринять следующие меры:

  • Минимизировать использование GitHub.dev — для работы с приватными и критически важными репозиториями предпочтительно использовать десктопную версию VS Code или GitHub CLI, которые не подвержены данной атаке.
  • Проверить активные OAuth-токены — в настройках GitHub (Settings → Applications → Authorized OAuth Apps) убедиться в отсутствии подозрительных авторизаций и отозвать неиспользуемые токены.
  • Проверить журналы аудита — для организаций на GitHub Enterprise просмотреть журнал аудита на предмет аномальных операций с репозиториями (массовое клонирование, неожиданные коммиты).
  • Не переходить по подозрительным ссылкам, ведущим на GitHub.dev, особенно полученным по электронной почте или в мессенджерах.
  • Ограничить область действия токенов — при использовании GitHub API и интеграций применять fine-grained personal access tokens с минимально необходимыми правами вместо классических токенов с широким доступом.

Разработчикам и организациям, активно использующим GitHub.dev, следует временно перейти на десктопную версию VS Code для работы с приватными репозиториями и отслеживать статус исправления в трекере Microsoft. Учитывая публичную доступность PoC-кода и отсутствие патча, окно для потенциальной эксплуатации остаётся открытым — ревизия активных OAuth-авторизаций в настройках GitHub является приоритетным действием прямо сейчас.


CyberSecureFox Editorial Team

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

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

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