Amazon Q-ontwikkelaarsfout kan kwaadaardige repos code laten uitvoeren via MCP-configuraties

Door een zeer ernstige fout in Amazon Q Developer kon een kwaadaardige repository opdrachten uitvoeren en de cloudreferenties van een ontwikkelaar stelen. Het pad was kort: een ontwikkelaar opent de opslagplaats, vertrouwt de werkruimte en Amazon Q doet de rest. Amazon heeft het gepatcht.

De bug, bijgehouden als CVE-2026-12957 (CVSS 8.5), zat in de manier waarop de AI-coderingsassistent van Amazon omging met Model Context Protocol (MCP)-servers.

Wiz Research, dat het ontdekte en rapporteerde, toonde aan dat één enkel configuratiebestand dat in een repository werd neergezet voldoende was om van git-kloon naar cloud-compromis te gaan.

Hoe de aanval werkte

Amazon Q las een MCP-configuratiebestand, .amazonq/mcp.json, vanuit de open werkruimte en lanceerde de servers die het definieerde. MCP-servers zijn lokale processen die een AI-assistent kan voortbrengen om databases, API’s of tools te bereiken. Als u er één start, betekent dit dat u opdrachten op de machine moet uitvoeren.

Deze processen erfden de volledige omgeving van de ontwikkelaar. Dat betekent meestal AWS-sleutels, cloud-CLI-tokens, API-geheimen en SSH-agent-sockets.

Voeg deze twee bij elkaar en een bestand dat zich in een gekloonde opslagplaats bevindt, kan willekeurige code uitvoeren met de live cloudsessie van de ontwikkelaar eraan gekoppeld. Geen wachtwoord, geen tweede login.

In zijn proof of concept liet Wiz het bestand aws sts get-caller-identity uitvoeren en de uitvoer naar een aanvallerserver sturen, waarbij de actieve AWS-sessie werd vastgelegd. Wat er daarna komt, hangt af van de cloudrechten van die ontwikkelaar: een IAM-gebruiker achter de deur zetten voor doorzettingsvermogen, interne services bereiken of richting productie gaan.

AWS en Wiz framen de toestemmingsstap anders. Het advies van Amazon zegt dat de gebruiker de werkruimte moet vertrouwen wanneer daarom wordt gevraagd, en CVSS beoordeelt de gebruikersinteractie als passief.

Wiz meldde dat er vóór de oplossing geen afzonderlijke toestemmingsstap was voor de MCP-servers zelf. De patch dicht dat gat: Amazon Q markeert nu een niet-vertrouwde MCP-server en laat de ontwikkelaar de opdracht weigeren voordat deze wordt uitgevoerd.

De fout zit in Language Servers voor AWS, de runtime die Amazon Q aanstuurt in VS Code, JetBrains, Eclipse en Visual Studio. Alle vier de plug-ins bundelen het, dus alle vier werden blootgesteld aan versies die een ouder exemplaar bevatten.

Wat te doen

Update. CVE-2026-12957 is opgelost in Language Servers voor AWS 1.65.0, maar het bulletin van AWS vertelt klanten dat ze naar 1.69.0 moeten overstappen.

Deze build sluit ook een tweede probleem af, CVE-2026-12958, een ontbrekende controle op symlinks die het mogelijk maakt dat willekeurige bestanden buiten de vertrouwensgrens van de werkruimte worden geschreven.

De gepatchte plug-in minima:

  • VS-code: 2.20 of hoger
  • JetBrains: 4.3 of hoger
  • Eclipse: 2.7.4 of hoger
  • Visual Studio-toolkit: 1.94.0.0 of hoger

De taalserver wordt automatisch bijgewerkt tenzij het netwerk dit blokkeert, en het opnieuw laden van de IDE haalt de nieuwste build op.

Er is geen publieke uitbuiting bekend; CISA’s ADP-invoer voor CVE-2026-12957 vermeldt dit als geen. Wiz ontdekte de fout door middel van onderzoek en maakte deze openbaar in samenwerking met Amazon. Hij rapporteerde het op 20 april en zag een oplossing op 12 mei, voorafgaand aan het openbare artikel van 26 juni.

Een patroon, niet eenmalig

Amazon Q is niet de eerste codeerassistent die struikelt over het MCP-vertrouwen. De bugs zijn niet identiek, maar ze rijmen: projectconfiguratie verandert in uitvoerbaar gedrag, en de vertrouwenscontroles rond die overdracht blijven mislukken.

Claude Code (CVE-2025-59536) en Cursor (CVE-2025-54136) hadden beide een MCP-configuratie op projectniveau die leidde tot uitvoering van opdrachten. Windsurf (CVE-2026-30615) bereikte hetzelfde doel via een ander pad, waarbij door de aanvaller gecontroleerde inhoud de lokale MCP-configuratie herschreef om een ​​kwaadaardige server te registreren.

Het gemak van het door een projectmap laten configureren van een AI-agent is ook het aanvalsoppervlak. Door Repo uitgevoerde configuratie is niet-vertrouwde invoer. Om er een lopend proces van te maken zou een expliciet ja nodig zijn.

Thijs Van der Does