Een lek in de Gremlin-API van Azure Cosmos DB gaf toegang tot een platformbrede sleutel waarmee elke database op het platform te lezen en te schrijven was, maakte Wiz Research donderdag bekend.
Je hoefde die Gremlin-API niet zelf te gebruiken om binnen bereik te vallen. De fout zat in de queryengine ervan, maar de sleutel die de onderzoekers daarmee buitmaakten lag op de gedeelde DB Gateway en werkte op elke API-variant van Cosmos DB, in elke regio, ook op databases die achter een privénetwerk staan. Draai je klantgegevens, bestellingen of chatgeschiedenis op Cosmos DB, dan lag de scheidsmuur tussen jouw data en die van een willekeurig ander Azure-account volledig bij Microsoft. Er viel niets te patchen, niets te configureren en niets te merken.
Van één query naar de hoofdsleutel
Cosmos DB draait voor Gremlin, de querytaal voor grafdatabases, een eigen engine in .NET. Die engine hield geen rekening met .NET-reflectie, waardoor Wiz met een geprepareerde query uit de sandbox brak en bestanden kon lezen en schrijven op de DB Gateway, het multitenant-cluster dat de queries van alle klanten uitvoert. Daarmee lag willekeurige code-uitvoering open.
Op dat cluster lagen twee dingen klaar. De eerste was de Cosmos Master Key, een platformbrede ondertekeningssleutel waarmee je de primaire sleutel van elk Cosmos DB-account kon opvragen, ongeacht regio of API-smaak: SQL, MongoDB, Cassandra of Gremlin. De tweede was de Config Store, zelf een Cosmos DB-database, met per regio de accountnamen, abonnements- en tenant-ID's, netwerkinstellingen en tags van alle klanten. Bij elkaar een adresboek plus een loper: eerst opzoeken welke database bij welke organisatie hoort, dan de sleutel ophalen.
Microsofts eigen diensten staan in datzelfde systeem. Entra ID, Teams en Copilot slaan hun data op in Cosmos DB en vielen binnen hetzelfde bereik.

48 uur voor de noodfix, acht maanden voor de echte
Wiz meldde de kwetsbaarheid op 20 november 2025 bij het Microsoft Security Response Center. Twee dagen later blokkeerde Microsoft het kwetsbare Gremlin-toegangspunt en begon het aan het structurele werk: het afschaffen van de Cosmos Master Key en strakkere authenticatie tussen de interne diensten onderling. Die migratie was pas in juli 2026 in alle regio's afgerond, en daarna ging het verhaal pas naar buiten.
Microsoft zegt de kwestie volledig te hebben verholpen en in de toegangslogs geen activiteit te hebben aangetroffen buiten de tests van de onderzoekers om. Er is geen CVE-nummer en geen CVSS-score toegekend, en klanten hoeven zelf niets te doen. Hoeveel klanten in theorie geraakt hadden kunnen worden, maakt Microsoft niet bekend.
Volgens Vaisha Bernard, mede-eigenaar van het Haagse beveiligingsbedrijf Eye Security, hadden aanvallers die dit lek als eerste hadden gevonden behoorlijk serieuze schade kunnen aanrichten. Wiz-CTO Ami Luttwak zei tegen Reuters dat wie in de Microsoft-cloud bouwt vrijwel altijd bij Cosmos DB uitkomt.
De tweede keer in vijf jaar
Dit is niet de eerste keer dat Wiz de scheiding tussen klanten in Cosmos DB doorbreekt. In augustus 2021 lieten dezelfde onderzoekers met ChaosDB zien dat de Jupyter Notebook-functie de primaire sleutels van andere klanten prijsgaf. Microsoft zette die functie binnen 48 uur uit, waarschuwde enkele duizenden klanten en droeg ze op hun sleutels te vernieuwen.
Het verschil zit in wat er van de klant gevraagd werd. Bij ChaosDB moest je zelf je sleutels roteren, dus wist je dat er iets aan de hand was. Bij CosmosEscape hoorde je het pas toen de laatste regio gerepareerd was.
Aan het onderzoek werkte een vroege versie van Atlas mee, Wiz' AI-agent die elke melding onderbouwt met een werkende exploit en met 90,9 procent bovenaan de CyberGym-ranglijst staat. Dat systeem koppelt Claude Opus 4.6 aan GPT-5.5 en stuurt elke stap naar het model dat daar het sterkst in is.
Wat je hier wél zelf kunt beoordelen
Wat CosmosEscape blootlegt is niet dat Azure onveilig is, maar hoe weinig van je eigen risico je zelf in beeld hebt. Een week geleden legde een bug in Microsofts eigen onderhoudssysteem Teams, SharePoint en zo'n 27 Azure-diensten bijna vijf uur plat, Cosmos DB daaronder. Twee keer binnen een week ging het mis in een laag waar geen enkele klant bij kan: eerst de beschikbaarheid, nu de scheiding tussen tenants.
Wat overblijft om op te oordelen is het gedrag eromheen. Microsoft blokkeerde het toegangspunt in twee dagen, bouwde de architectuur in acht maanden om en bracht het verhaal naar buiten met de onderzoekers erbij. Dat is de meetlat die je hebt als je de code niet kunt inzien: niet of er lekken zijn, want die zijn er, maar hoe snel en hoe openlijk ze gedicht worden.
Veelgestelde vragen
Grip op je eigen data
Waar je data staat en wie erbij kan is een ontwerpkeuze, geen bijzaak die je aan je leverancier overlaat. Ik denk met je mee over die keuze, ontwerp de opzet en bouw en automatiseer hem ook echt, self-hosted waar dat kan.
Dit artikel is geproduceerd samen met het Agent Team. Meer over de redactie.
