Im Kern lag das Problem darin, wie Amazon Q eine MCP-Konfigurationsdatei aus einem geöffneten Arbeitsbereich behandelte. Laut Wiz Research las Amazon Q die Datei .amazonq/mcp.json aus dem geöffneten Workspace und startete die darin definierten Server. Solche MCP-Server sind lokale Prozesse, die ein KI-Assistent starten kann, um auf Datenbanken, Programmierschnittstellen oder Build-Werkzeuge zuzugreifen. Ihr Start entspricht damit unmittelbar der Ausführung von Befehlen auf dem System.

Diese Prozesse übernahmen nach Angaben von Wiz die komplette Umgebung des Entwicklers. Dazu zählen typischerweise AWS-Schlüssel, Token von Cloud-Kommandozeilenwerkzeugen, API-Geheimnisse und SSH-Agent-Sockets. In der Folge konnte eine Datei in einem geklonten Repository beliebigen Code mit einer bereits aktiven Cloud-Sitzung des Entwicklers ausführen, ohne dass ein Passwort oder eine erneute Anmeldung erforderlich war.

In seinem Machbarkeitsnachweis ließ Wiz über die Konfiguration den Befehl aws sts get-caller-identity ausführen und die Ausgabe an einen Server des Angreifers übertragen. So wurde die aktive AWS-Sitzung erfasst. Welche weiteren Schritte danach möglich sind, hängt laut Quelle von den Cloud-Berechtigungen des jeweiligen Entwicklers ab.

Amazon und Wiz beschreiben den Zustimmungsmechanismus unterschiedlich. In Amazons Sicherheitsmitteilung heißt es, der Nutzer müsse dem Arbeitsbereich auf Nachfrage vertrauen; im CVSS-Eintrag wird die Nutzerinteraktion als passiv bewertet. Wiz wiederum berichtet, dass es vor dem Patch keine gesonderte Zustimmung für die MCP-Server selbst gab. Genau diese Lücke schließt das Update: Amazon Q kennzeichnet nun einen nicht vertrauenswürdigen MCP-Server und gibt Entwicklern die Möglichkeit, den Befehl abzulehnen, bevor er ausgeführt wird.

Die Schwachstelle steckt in Language Servers for AWS, also in der Laufzeitumgebung, die Amazon Q in VS Code, JetBrains, Eclipse und Visual Studio antreibt. Da alle vier Plugins diese Komponente mitliefern, waren laut Quelle auch alle vier betroffen, sofern sie eine ältere Version enthielten.

Behoben wurde CVE-2026-12957 in Language Servers for AWS 1.65.0. In seinem Bulletin empfiehlt AWS Kunden jedoch den Wechsel auf Version 1.69.0. Diese Fassung beseitigt zugleich CVE-2026-12958, eine fehlende Symlink-Prüfung, die beliebige Dateischreibvorgänge außerhalb der Vertrauensgrenze des Arbeitsbereichs ermöglichen konnte. Der Language Server aktualisiert sich laut Quelle automatisch, sofern das Netzwerk dies nicht blockiert; ein Neuladen der Entwicklungsumgebung zieht die aktuelle Fassung nach.

Hinweise auf öffentliche Ausnutzung gibt es bislang nicht. Der ADP-Eintrag von CISA für CVE-2026-12957 führt dazu den Status „keine“. Wiz entdeckte die Lücke im Rahmen eigener Forschung und legte sie nach eigenen Angaben abgestimmt mit Amazon offen: Meldung am 20. April, Fehlerbehebung am 12. Mai, noch vor der öffentlichen Darstellung vom 26. Juni.

Der Vorfall reiht sich in ähnliche MCP-Probleme bei anderen Programmierassistenten ein. Der Quelltext nennt Claude Code mit CVE-2025-59536 und Cursor mit CVE-2025-54136, bei denen projektbezogene MCP-Konfigurationen ebenfalls zu Befehlsausführung führten. Bei Windsurf mit CVE-2026-30615 wurde das lokale MCP-Setup auf anderem Weg umgeschrieben, um einen bösartigen Server zu registrieren.