Eine Zero-Day-Schwachstelle in Visual Studio Code ermoeglicht es Angreifern, den GitHub OAuth-Token eines Entwicklers mit einem einzigen Klick zu stehlen - und so vollen Zugriff auf alle privaten Repositories dieses Kontos zu erhalten. Der Sicherheitsforscher Ammar Askar veroeffentlichte den Exploit am 3. Juni 2026 und stellte den Proof-of-Concept-Code oeffentlich bereit, ohne Microsofts offiziellen Sicherheitsprozess zu durchlaufen. Zum Zeitpunkt dieser Veroffentlichung existiert kein Patch, und es wurde keine CVE-Nummer vergeben.
Wie der Ein-Klick-Exploit funktioniert
Der Angriff beginnt, wenn ein Opfer auf einen speziell praeparierten Link klickt, der auf github.dev verweist - die browserbasierte Version von VS Code, die Microsoft in der Cloud hostet. Sobald die Seite geladen ist, wird im Link eingebettetes schadliches JavaScript innerhalb eines VS Code Webview ausgefuhrt - einer isolierten iframe-ahnlichen Komponente, die VS Code zum Rendern von Extension-Benutzeroberflachen und Webinhalten verwendet.
Von innerhalb dieses Webviews nutzt das schadliche Skript eine Schwachstelle in der Window.postMessage()-API von VS Code, um Tastatureingaben im Haupteditor zu simulieren. Diese simulierten Tastatureingaben werden verwendet, um eine schaedliche VS Code-Erweiterung lautlos zu installieren. Die Erweiterung extrahiert dann den GitHub OAuth-Token, den github.dev beim Login erhalten hat, und sendet ihn an den Angreifer. Mit diesem Token kann der Angreifer die GitHub-API abfragen und auf alle Repositories zugreifen, die fur das Konto des Opfers erreichbar sind - nicht nur das gerade besuchte.
Die gesamte Kette - Klick, Webview-Ausfuhrung, Erweiterungsinstallation, Token-Extraktion - dauert Sekunden und erfordert keine weitere Interaktion des Opfers.
Warum das Webview-Sicherheitsmodell von VS Code hier versagt
VS Code isoliert Webview-Inhalte, um zu verhindern, dass nicht vertrauenswurdige Erweiterungen direkt auf die Haupteditor-Umgebung zugreifen. Theoretisch bedeutet die Isolation, dass ein schadlicher Webview nur uber sorgfaltig definierte Nachrichtenkanaele mit der Aussenwelt kommunizieren kann.
In der Praxis validiert die Window.postMessage()-Brucke, die Tastaturereignisse zwischen einem Webview und dem Haupteditor weiterleitet, den Ursprung oder die Absicht dieser Nachrichten nicht korrekt. Askars Exploit speist die Brucke mit einem Strom gefaelschter Tastaturereignisse, die Terminalbefehle zur Installation einer Erweiterung bilden - und VS Code fuhrt diese gehorsam aus.
Die Schwachstelle liegt an der Schnittstelle zweier Designentscheidungen: der Komfortfunktion der Tastaturereignis-Weiterleitung und dem Vertrauen, das VS Code Nachrichten entgegenbringt, die uber diesen Kanal ankommen. Das vollstandige Deaktivieren von Webviews wurde einen Grossteil des Erweiterungs-Okosystems zerstoren, daher gibt es keine einfache Konfigurationslosungen.
Welche Daten sind tatsachlich gefahrdet
Ein gestohlener GitHub OAuth-Token ist weitaus wertvoller als ein einzelnes Repository-Passwort. OAuth-Token beschranken den Zugriff auf Kontoebene, was bedeutet, dass der Angreifer alle Berechtigungen des Opferkontos erbt: Lesen und Klonen von privatem Code, Pushen schaedlicher Commits, Andern von CI/CD-Pipeline-Konfigurationen, Zugriff auf in Repository-Einstellungen gespeicherte Geheimnisse und Aufzahlung jedes privaten Projekts, zu dem der Entwickler beitragt - einschliesslich derer des Arbeitgebers oder von Kunden.
Fur Entwickler, die mit proprietarer Software, internen Tools oder sicherheitssensitiver Infrastruktur arbeiten, kann ein einzelner Token-Diebstahl zu einem vollstandigen Quellcode-Leak, einem Supply-Chain-Angriff oder persistentem Backdoor-Zugriff auf Produktionssysteme fuhren. Der Angriff ist lautlos: Das Opfer bemerkt wahrend oder nach dem Exploit nichts Ungewohnliches.
Warum der Forscher Microsofts Bug-Bounty-Prozess umging
Askar entschied sich fur eine vollstandige oeffentliche Offenlegung aufgrund eines fruheren Vorfalls mit Microsofts Security Response Center (MSRC). Gemaess seinem Blogbeitrag hatte er zuvor eine separate VS Code-Schwachstelle uber die ordnungsgemaessen Kanaele gemeldet. Microsoft behob den Fehler in einem spateren Update stillschweigend, ohne Askar zu wurden, ohne einen Sicherheitshinweis zu veroffentlichen und ohne die sicherheitstechnischen Auswirkungen anzuerkennen. Er betrachtete dieses Ergebnis als Verletzung des impliziten Vertrags zwischen Forschern und Anbietern.
Diesmal gab Askar dem GitHub-Sicherheitsteam genau eine Stunde Vorwarnung vor der Veroffentlichung. Er reichte keinen Bericht bei MSRC ein. Er veroeffentlichte ausserdem funktionierenden Proof-of-Concept-Exploit-Code zusammen mit der Analyse und stellte so sicher, dass die technischen Details sowohl fur Verteidiger als auch fur die breitere Sicherheitscommunity sofort verfugbar waren.
Microsoft antwortete mit einer Erklarung, dass das Unternehmen "weiterhin verpflichtet ist, gemeldete Probleme schnell zu bewerten" und "Minderungen, Anleitungen und Schutzmanahmen so schnell wie moglich bereitzustellen". Das Unternehmen erkannte weder die spezifische Beschwerde uber die fruheren nicht offentlich gemachten Korrekturen an, noch lieferte es einen Zeitplan fur die Behebung der aktuellen Schwachstelle.
Wie Entwickler ihre Exposition reduzieren konnen
Bis Microsoft einen Patch bereitstellt, ist der effektivste unmittelbare Schritt das Loschen von Cookies und lokalen Websitedaten fur github.dev in Ihrem Browser. Dadurch wird beim nachsten Besuch der Seite ein neuer Authentifizierungsprompt erzwungen, der eine visuelle Warnung ausloest, wenn ein Exploit-Versuch bereits im Gange ist. Behandeln Sie jeden unerwarteten Aufforderung zur VS Code-Erweiterungsinstallation - insbesondere eine, die Sie nicht selbst initiiert haben - als rotes Flag und brechen Sie sofort ab.
Allgemeiner gesagt erinnert dieser Vorfall daran, dass Entwicklungsumgebungen hochst sensible Anmeldeinformationen verwalten und dass die Angriffsflache grosser ist, als die meisten Entwickler annehmen. Das Klicken auf Links in Code-Review-Kommentaren, Chat-Nachrichten oder E-Mails, die zu github.dev oder anderen Cloud-IDE-Umgebungen fuhren, ist jetzt ein bedeutender Risikovektor. Die Verwendung eines VPN in offentlichen oder nicht vertrauenswurdigen Netzwerken reduziert die Exposition gegenuber Verkehrsabfangungen, die diese Art von Angriff verstarken konnten - beispielsweise durch das Abfangen des Tokens wahrend der Ubertragung oder das Bereitstellen des schaedlichen Links uber eine manipulierte DNS-Antwort.
Entwickler, die mit sensiblen Repositories arbeiten, sollten auch ihre GitHub-Token-Bereiche uberprufen und erwaegen, aktive OAuth-Token als Vorsichtsmassnahme zu rotieren, noch bevor ein Patch verfugbar ist. Richtlinien fur geringste Rechte - die den Zugriff jedes einzelnen Tokens begrenzen - reduzieren den Schaden, wenn ein Token kompromittiert wird.