Security researcher Ammar Askar disclosed a critical vulnerability in Visual Studio Code that allowed attackers to steal GitHub access tokens with a single click. The flaw primarily targeted github.dev, the browser-based VS Code editor, though a more complex exploitation path existed for the desktop version as well. Microsoft rolled out a fix on June 3, 2026 — just one day after public disclosure.
The attack worked by crafting a malicious Jupyter notebook that, when opened on github.dev, would silently simulate keystrokes to install a rogue extension. That extension would then exfiltrate the victim’s GitHub OAuth token to an attacker-controlled server. The critical detail: the OAuth token passed to github.dev was not scoped to any specific repository, giving the attacker full read/write access to every repository the victim could access — including private ones.
The exploit abused VS Code’s message-passing mechanism within its sandboxed webview system, effectively breaking out of the intended security boundary. Askar disclosed the vulnerability publicly on June 2 after only brief notification to GitHub’s security team, citing a previous negative experience where Microsoft silently patched one of his reports without credit.
Source
Coverage: SecurityWeek · BleepingComputer · The Hacker News
Commentary
This is the kind of vulnerability that should make every developer uncomfortable. Jupyter notebooks are routinely shared via GitHub repos, and opening one on github.dev is an instinctive action for millions of developers. The unscoped OAuth token is the real kicker — a single compromised click could have handed over the keys to an organization’s entire codebase.
Microsoft patched it fast, but the disclosure drama highlights an ongoing tension in the security community. Askar’s decision to go public quickly was controversial, but his frustration with Microsoft’s credit practices is shared by many researchers. The broader lesson: browser-based IDEs are expanding the attack surface in ways we’re only beginning to understand.
