Zum Inhalt springen

CosmosEscape: Ein Generalschlüssel für alle Azure-Cosmos-DB-Datenbanken

Sicherheitsforscher von Wiz haben eine kritische Schwachstellenkette in Microsofts Cloud-Datenbank Azure Cosmos DB gefunden, die vollständigen Lese- und Schreibzugriff auf praktisch jede Datenbank des Dienstes erlaubt hätte. Das schließt die internen Datenbanken von Microsoft selbst ein. Die Forscher tauften den Fund CosmosEscape. Microsoft hat das Problem inzwischen vollständig behoben, für Kunden ist kein Eingreifen erforderlich. Interessant bleibt der Fall trotzdem, weil er zeigt, wie ein einzelner falsch abgesicherter Baustein eine ganze Cloud-Plattform aufhebeln kann.

Warum das relevant ist

Azure Cosmos DB ist keine Randnotiz im Microsoft-Portfolio, sondern zentrale Infrastruktur. Dienste wie Microsoft Entra ID, Microsoft Teams und Microsoft Copilot speichern ihre Daten in Cosmos DB. Eine Schwachstelle auf dieser Ebene wirkt daher nach oben durch und bedroht alle Dienste, die darauf aufbauen. Genau das macht CosmosEscape zu mehr als einer klassischen Einzelschwachstelle. Wer die Datenbankschicht kontrolliert, kontrolliert potenziell auch die darüberliegenden Anwendungen.

Was genau passiert ist

Cosmos DB unterstützt mehrere Abfragesprachen, darunter Gremlin, eine Sprache für Graphdatenbanken. Beim Testen von Gremlin-Abfragen fiel den Forschern eine ungewöhnliche .NET-Fehlermeldung auf. Das war ein Hinweis darauf, dass Microsoft eine selbst entwickelte Gremlin-Engine einsetzt, die Abfragen in ausführbaren .NET-Code übersetzt und in einer abgeschotteten Umgebung, einer sogenannten Sandbox, laufen lässt.

Solche Sandboxen sind historisch anfällig, und diese war es auch. Die Einschränkungen der Engine berücksichtigten .NET-Reflection nicht ausreichend. Über diesen Weg konnten die Forscher zunächst Dateien lesen und schreiben und schließlich beliebigen Code ausführen, und zwar allein über Abfragen gegen ihre eigene Datenbank. Sie brauchten dafür nur ein eigenes Cosmos-DB-Konto, keinen Zugriff auf das Zielunternehmen.

Mit dem Ausbruch aus der Sandbox erlangten die Forscher Codeausführung auf dem sogenannten DB Gateway. Dieser Dienst führt Kundenabfragen stellvertretend aus und läuft auf mandantenübergreifenden Service-Fabric-Clustern, also auf gemeinsam genutzter Infrastruktur mehrerer Kunden. Auf diesem Gateway lag ein Signaturschlüssel, mit dem sich der Primärschlüssel eines Cosmos-DB-Kontos abrufen ließ. Der Primärschlüssel gewährt vollen Lese- und Schreibzugriff auf die Datenbanken eines Kontos.

Der entscheidende Punkt: Dieser Signaturschlüssel war nicht auf ein einzelnes Konto beschränkt. Er funktionierte über Mandanten, Regionen und sogar über verschiedene API-Varianten hinweg, also für SQL, MongoDB, Cassandra und Gremlin gleichermaßen. Damit ließ sich der Primärschlüssel praktisch jedes Kontos im Dienst abrufen, und das über öffentlich erreichbare Endpunkte. Die Forscher nannten diesen plattformweiten Schlüssel den Cosmos Master Key.

Der Config Store als Adressbuch

Der Master Key öffnete zusätzlich den Config Store, ein regionales Verzeichnis sämtlicher Cosmos-DB-Konten. Darin stehen Kontonamen, Abonnement- und Mandanten-IDs, Netzwerkeinstellungen und weitere Metadaten. Da dieser Config Store selbst eine Cosmos-DB-Datenbank ist, ließ er sich mit voller SQL-Flexibilität durchsuchen.

Beides zusammen ergibt eine wirksame Angriffskette. Ein Angreifer hätte über den Config Store alle Konten einer Region auflisten oder gezielt nach der Mandanten-ID eines bestimmten Unternehmens filtern können. Anschließend hätte er mit dem Master Key den Primärschlüssel des Ziels abgerufen und vollen Zugriff auf dessen Datenbanken erhalten. Betroffen waren auch private und netzwerkisolierte Konten, denn das DB Gateway ist selbst für die Durchsetzung der Netzwerkisolation zuständig. Wer das Gateway kontrolliert, umgeht diese Isolation. Schreibzugriff auf den Config Store hätte es zudem erlaubt, Netzwerkeinstellungen zu überschreiben.

Einordnung und Zeitleiste

CosmosEscape trägt bewusst keine CVE-Kennung und keinen CVSS-Wert, weil es sich um eine Schwachstelle in der von Microsoft betriebenen Infrastruktur handelt, die serverseitig behoben wurde. Der Fund ist technisch eigenständig und unterscheidet sich von den früheren Cosmos-DB-Lücken ChaosDB (2021) und CosMiss (2022), die beide die Jupyter-Notebook-Funktion betrafen und nicht die Gremlin-Engine.

Bemerkenswert am Ablauf ist die Dauer der Behebung. Wiz meldete die Schwachstelle am 20. November 2025, Microsoft bestätigte den Eingang am selben Tag. Bereits am 22. November 2025 sperrte Microsoft mit einem Hotfix den Einstiegspunkt über die Gremlin-API und begann parallel mit einer grundlegenden Umstellung der Architektur. Diese langfristige Korrektur, die den Cosmos Master Key vollständig beseitigt, wurde erst im Juli 2026 über alle Regionen ausgerollt. Die öffentliche Veröffentlichung folgte am 30. Juli 2026. Ergänzend führte Microsoft nach eigenen Angaben stärkere Dienst-zu-Dienst-Authentifizierung sowie zusätzliche Netzwerkschutz-, Überwachungs- und Erkennungsmechanismen ein.

Erwähnenswert ist auch, dass Wiz bei der Entdeckung eine frühe Version des KI-Schwachstellenforschers Atlas eingesetzt hat. Die vollständige Angriffskette wollen die Forscher am 6. August 2026 auf der Black Hat USA unter dem Titel „One Key to Rule Them All“ vorstellen.

Bewertung von Microsoft

Microsoft hat nach eigener Aussage die Zugriffsprotokolle umfassend geprüft und keine Hinweise auf eine Ausnutzung außerhalb der Forschungstätigkeit von Wiz gefunden. Es seien keine Kundendaten abgeflossen. Wichtig für die Einordnung: Der öffentliche Bericht sagt nicht, wann die verwundbare Engine samt Signaturschlüssel in Produktion ging und welchen Zeitraum die Log-Prüfung abdeckte. Die tatsächliche Dauer der möglichen Exposition bleibt damit offen, auch wenn der bekannte Angriffsweg geschlossen ist.