Un cercetător în securitate cibernetică a publicat detalii și un exploit demonstrativ pentru o vulnerabilitate din Visual Studio Code (VS Code) – editorul de cod al Microsoft – care permitea obținerea tokenului GitHub folosit de github.dev și accesul la repozitorii private printr-un singur click pe un link malițios.
Conform documentației tehnice publicată de Ammar Askar, github.dev primește de la github.com un token OAuth care îi permite să interacționeze cu GitHub în numele utilizatorului.
Github.dev este un editor de cod bazat pe web și integrat direct în GitHub care permite editarea proiectelor (repozitorii) direct din browser, fără a fi nevoie să clonezi codul pe calculatorul tău.
Acesta reprezintă o versiune light a editorului de cod VSCode pentru editări rapide, navigare prin fișiere și colaborare.
Un scenariu de atac ar fi putut porni de la modul în care VS Code tratează conținutul afișat în webview-uri, folosite de exemplu pentru notebook-uri Jupyter.
Deși aceste webview-uri sunt izolate prin mecanisme de sandboxing, cercetătorul arată că aplicația retransmite anumite evenimente de tastatură către fereastra principală, pentru a păstra funcții precum shortcut-urile disponibile și când utilizatorul este focusat în notebook.
Potrivit demonstrației, un notebook malițios putea genera programatic combinații de taste care simulau acțiuni ale utilizatorului. Această tehnică permitea acceptarea notificării pentru extensii recomandate, activarea unei extensii controlate de atacator și apoi folosirea ei pentru a extrage tokenul GitHub și pentru a interoga API-ul platformei în vederea listării repozitoriilor private accesibile victimei.
Askar precizează că o variantă similară exista și în ediția desktop a VS Code, dar era mai greu de exploatat deoarece victima trebuia să cloneze repozitoriul și să deschidă notebook-ul local. În cazul github.dev, tot fluxul de atac putea porni din browser, printr-un singur link.
După publicarea detaliilor, Microsoft a introdus corecții rapide, ce includ o confirmare la deschiderea notebook-urilor în VS Code web și blocarea posibilității ca anumite comenzi să ocolească verificările de încredere pentru editori de extensii, apoi a implementat o remediere mai completă pentru a opri propagarea evenimentelor keydown din webview-urile notebook-urilor.
Pentru utilizatori, autorul a recomandat ștergerea datelor locale și a cookie-urilor pentru github.dev, ca măsură temporară de reducere a riscului.





