OpenCode-Schwachstelle ermöglichte code execution bei der MCP-Anmeldung unter Windows
Die OpenCode-Schwachstelle ermöglichte es einem bösartigen oder kompromittierten Model Context Protocol (MCP) server – einem externen Dienst, der einem AI-Coding-Agent Werkzeuge bereitstellt –, Code auszuführen, sobald ein Entwickler unter Windows oder dem Windows Subsystem for Linux (WSL) mit der Anmeldung begann. Die daraus resultierenden Befehle wurden mit den Zugriffsrechten des Entwicklers ausgeführt, wodurch die Schwachstelle besonders für Arbeitsstationen relevant war, die zur Verwaltung von Software, Websites oder Infrastruktur eingesetzt werden.
Anomaly, das Unternehmen hinter OpenCode, behob das Problem am 28. September in Version 1.18.33. Betroffen sind die Versionen 1.0.137 bis einschließlich 1.18.32. Da Anomaly weder eine CVE – die standardisierte Kennung, die öffentlich erfassten Sicherheitslücken üblicherweise zugewiesen wird – beantragte noch einen Sicherheitshinweis veröffentlichte, erkennen Schwachstellenscanner und Abhängigkeitswarnungen weiterhin gefährdete Installationen nicht. Administratoren müssen die installierte OpenCode-Version direkt überprüfen.
Der anfällige Ablauf begann während einer MCP-Anmeldung. Der remote server stellte einen OAuth authorization endpoint bereit, also die Webadresse, über die ein berechtigungsbasierter Anmeldevorgang gestartet wird. Unter Windows und WSL übergab OpenCode diese Adresse an einen Browser-Helper. Dieser Helper erstellte aus der Adresse einen PowerShell-Befehl, ohne deren Inhalt sicher zu maskieren. PowerShell ist ein Windows-Werkzeug zum Ausführen von Befehlen und administrativen Skripten. Eine speziell präparierte Adresse konnte daher per command injection einen Befehl einschleusen und ausführen, anstatt lediglich die vorgesehene Seite zu öffnen.
Das Verhalten wurde nicht allein dadurch ausgelöst, dass ein MCP server konfiguriert oder eine OpenCode-Sitzung geöffnet wurde. Ein Entwickler musste den Authentifizierungsvorgang durch Ausführen von opencode mcp auth oder durch eine entsprechende Anfrage starten. Der Angreifer musste außerdem die Kontrolle über einen remote MCP server haben, den der Entwickler bereits hinzugefügt hatte. Dieser Server musste bei seiner ursprünglichen Konfiguration nicht bösartig gewesen sein. Pillar Security warnte, dass ein zuvor legitimer Server später kompromittiert werden oder seine Domain den Besitzer wechseln könnte, wodurch bei einem späteren Anmeldeversuch des Benutzers dasselbe Risiko entstünde.
Pillar Security entdeckte die Schwachstelle, meldete sie am 29. August vertraulich und legte sie am 19. Oktober offen. Das Unternehmen stufte sie als kritisch ein und schlug einen Schweregrad von 9,8 von 10 Punkten vor. Es wurden keine Hinweise darauf gemeldet, dass Angreifer die Schwachstelle ausgenutzt hatten, und es wurden keine Indikatoren veröffentlicht, mit denen Administratoren nach früherem Missbrauch suchen könnten. Die Schwachstelle betrifft Windows und WSL, weil der Browser-Helper die Adresse auf diesen Plattformen auf diese Weise verarbeitete. macOS und Linux sind nicht betroffen, weil die Adresse dort geöffnet wird, ohne sie über eine command shell zu übergeben.
Die Fehlerbehebung erschien, ohne als Sicherheitsupdate bezeichnet zu werden. Der pull request, der sie enthielt, wurde als Refactoring des Codes zum Starten des Browsers dargestellt, während die Versionshinweise keine Schwachstelle erwähnten. Die Sicherheitsrichtlinie von Anomaly ordnet von Benutzern konfigurierte MCP server außerhalb der eigenen trust boundary ein. Laut Pillar Security blieb Anomaly bei der Auffassung, dass ein bösartiger MCP server außerhalb des eigenen threat model liege, nachdem Pillar das Unternehmen gebeten hatte, seine Position zu überdenken und eine CVE zu beantragen. Anomaly hat für andere OpenCode-Schwachstellen mit code execution Sicherheitshinweise veröffentlicht, darunter für eine im August behobene Schwachstelle.
Der zugrunde liegende Browser-Helper ist ein weitverbreitetes Paket namens open. Sein Verhalten unter Windows wurde 2023 als Risiko für command injection gemeldet, und das Paket behob das Problem in Version 11. OpenCode hatte weiterhin eine ältere Version verwendet. Die Überprüfung, ob eine Autorisierungsadresse mit HTTP oder HTTPS beginnt, ist zwar eine übliche Schutzmaßnahme, doch diese Prüfung allein hätte den Angriff nicht verhindert, weil die bösartigen Eingaben in einer normalen HTTPS-Adresse enthalten sein konnten. OpenCode fügte eine solche Prüfung hinzu, aber erst das Update auf die korrigierte Version von open beseitigte die anfällige Befehlsverarbeitung.
Ein eng verwandtes Problem trat im Juli 2025 im mcp-remote proxy auf. Diese als CVE-2025-6514 erfasste Schwachstelle ermöglichte es ebenfalls, den authorization endpoint eines bösartigen Servers an eine command line zu übergeben. Der frühere Fall zeigt, dass von remote tool servers bereitgestellte Authentifizierungsadressen zu einem Weg für code execution werden können, wenn Anwendungen sie ohne sichere Verarbeitung durch eine shell leiten.
Benutzer von Windows und WSL sollten auf OpenCode 1.18.33 oder neuer aktualisieren und mit opencode mcp list die konfigurierten Server überprüfen. Wer nicht sofort aktualisieren kann, sollte nicht geprüfte remote MCP servers entfernen und keine Authentifizierung mit ihnen starten. Da nicht zu erwarten ist, dass Scanner die betroffenen OpenCode-Versionen melden, sollten sich Organisationen bei diesem Problem nicht ausschließlich auf automatisierte Schwachstellenbenachrichtigungen verlassen.
Für Teams, die Unterstützung bei der Verwaltung von Entwicklerwerkzeugen und Integrationen von Drittanbietern benötigen, bietet AEU-I sicherheitsorientierte IT-, Infrastruktur- und Beratungsleistungen an. Diese OpenCode-Schwachstelle ist von einem Sicherheitsvorfall bei der gehosteten OpenCode Console zu unterscheiden, der ungefähr im selben Zeitraum bekannt gegeben wurde und bei dem möglicherweise die gespeicherten API keys einiger Benutzer für OpenAI, Anthropic und Google offengelegt wurden.