После Chaotic Eclipse теперь, судя по всему, очередной исследователь безопасности, Аммар Аскар, настолько разгневан реакцией Microsoft на его работу, что начинает публиковать эксплойты для незакрытых уязвимостей. Согласно сообщению в блоге исследователя (открывается в новом окне), последняя утечка представляет собой эксплойт в один клик, с помощью которого злоумышленники могут похитить токены GitHub, а затем и данные из частных репозиториев.
Для успешной эксплуатации жертве нужно лишь кликнуть по вредоносной ссылке. После этого в веб-браузере открывается веб-версия VSCode, размещённая на Github.dev. Там с помощью JavaScript-кода эксплойта симулируются нажатия клавиш, чтобы автоматически установить расширение злоумышленника.
Затем это расширение извлекает токен GitHub целевого пользователя и с его помощью через GitHub API запрашивает все репозитории, к которым у жертвы есть доступ — включая приватные. Расширение, разработанное Аскаром для демонстрационных целей, лишь выводит список репозиториев в уведомлении. Однако это показывает, что злоумышленники могут таким образом извлекать приватные данные пользователей GitHub.
Как пользователи могут защититься
Аскар подчёркивает, что доступ злоумышленника с помощью похищенного токена не ограничивается тем репозиторием, на который ведёт ссылка с эксплойтом. «У него есть полный доступ к каждому репозиторию, к которому есть доступ у вас», — пишет исследователь. Те, кто интересуется техническими деталями уязвимости, могут найти их в блоге Аскара (открывается в новом окне).
Пользователи, которые никогда ранее не заходили на Github.dev, не так беспомощны перед этой атакой. В этом случае после клика по ссылке с эксплойтом появляется сообщение, в котором платформа запрашивает разрешение на вход расширения злоумышленника в учётную запись GitHub жертвы. Если просто закрыть вкладку браузера на этом этапе, вы останетесь защищены.
Однако у пользователей, которые уже подтверждали такое сообщение в прошлом, эксплойт выполняется немедленно и без какого-либо предупреждения. Поэтому Аскар рекомендует удалить сохранённые в браузере данные сайта для домена Github.dev (открывается в новом окне).
Это также сбросит состояние сообщения, так что при следующем посещении потребуется снова подтвердить вход в учётную запись GitHub. Благодаря этому со стороны целевого пользователя потребуется как минимум два клика, прежде чем эксплойт сможет выполниться.