А тем временем еще один ресерчер, как и Nightmare Eclipse, не вынес MSRC и слил собственный 0day в паблик. Сотрудник Google Ammar Askar рассказал, как с помощью одного клика можно украсть OAuth-токен GitHub с полным доступом ко всем твоим репозиториям, включая приватные.
> GitHub имеет фичу
github.dev — лёгкий VSCode прямо в браузере. Чтобы он работал, GitHub передаёт туда токен, не привязанный к конкретному репо — он открывает доступ ко всему.> VSCode изолирует ненадёжный контент (типа превью для Markdown) в
<iframe> другого домена. Но чтобы горячие клавиши работали внутри webview, VSCode пробрасывает события клавиатуры (did-keydown) с помощью пост-месседжей в основное окно.И вот проблема: любой unsafe JS таким образом внутри webview может сам "нажимать клавиши" в основном окне вместо тебя.
Через хитрую комбинацию (рекомендованные расширения + локальные workspace-расширения, которые обходят проверку доверия издателя) хакер эмулирует нажатия клавиш, тихо ставит своё расширение и получает исполнение кода в основном контексте, вместе с кражей самого токена.
