Một lỗ hổng vừa được vá trong Azure Cosmos DB có thể đã cho phép kẻ tấn công thoát khỏi sandbox truy vấn Gremlin của dịch vụ và giành được quyền đọc và ghi đầy đủ vào các cơ sở dữ liệu của các khách hàng khác nhau, theo báo cáo từ Wiz.
Wiz, công ty đặt mã danh cho chuỗi khai thác này là CosmosEscape, cho biết chuỗi tấn công bắt đầu bằng một truy vấn được tạo đặc biệt đối với cơ sở dữ liệu Gremlin do kẻ tấn công kiểm soát. Từ đó, việc thực thi mã trên một gateway đa người dùng đã làm lộ bí mật ký trên toàn nền tảng và danh bạ tài khoản khu vực, cho phép các nhà nghiên cứu xác định mục tiêu và lấy được primary account key của tài khoản đó.
Microsoft đã chặn điểm truy cập Gremlin bị lỗi trong vòng 48 giờ sau báo cáo vào tháng 11 năm 2025. Wiz cho biết Microsoft đã hoàn tất bản vá lâu dài trên tất cả các khu vực vào tháng 7 năm 2026 và loại bỏ khóa trên toàn nền tảng.
Microsoft tuyên bố rằng quá trình kiểm tra của họ không tìm thấy hoạt động trái phép nào bên ngoài phạm vi thử nghiệm của các nhà nghiên cứu. Công ty cũng khẳng định không có dữ liệu khách hàng nào bị truy cập và người dùng không cần thực hiện bất kỳ hành động nào.
Phân tích kỹ thuật chuỗi khai thác
Chuỗi tấn công được công bố bắt đầu với một cơ sở dữ liệu Gremlin do kẻ tấn công kiểm soát và thông tin đăng nhập của chính tài khoản đó, chứ không phải truy cập trực tiếp vào cơ sở dữ liệu của nạn nhân.
Hướng dẫn kết nối hiện tại của Microsoft yêu cầu account host, cơ sở dữ liệu, graph path và primary key trước khi client có thể gửi các truy vấn Gremlin. Wiz chưa công bố liệu cuộc khai thác có yêu cầu bất kỳ điều gì khác ngoài điểm bắt đầu đó hay không.
Theo bài viết kỹ thuật của Wiz, engine Gremlin tùy chỉnh của Cosmos DB dịch các truy vấn Gremlin thành mã .NET và chạy chúng bên trong một môi trường hạn chế. Wiz cho biết các hạn chế này đã không tính đến tính năng .NET reflection, cho phép các nhà nghiên cứu xây dựng các nguyên mẫu đọc và ghi tệp trước khi đạt được khả năng thực thi mã tùy ý (arbitrary code execution).
Tiết lộ công khai cho thấy đầu ra của một truy vấn được thiết kế riêng đã thực thi lệnh hostname trên backend của Cosmos DB, nhưng không hiển thị chính xác nội dung truy vấn đó. Các nhà nghiên cứu cho biết họ sẽ trình bày chi tiết toàn bộ chuỗi tại buổi hội thảo Black Hat USA vào ngày 6 tháng 8.
Tác động đến DB Gateway và Cosmos Master Key
Việc thực thi mã diễn ra trên một thành phần mà Wiz gọi là DB Gateway, nơi thực hiện các truy vấn của khách hàng trên các cụm Azure Service Fabric đa người dùng. Mặc dù cơ sở dữ liệu khách hàng không được lưu trữ trên các cụm này, nhưng gateway có thể truy xuất primary key cho một tài khoản Cosmos DB được yêu cầu. Tài liệu của Microsoft nêu rõ primary key của tài khoản Cosmos DB cấp quyền kiểm soát hoàn toàn đối với tất cả các tài nguyên trong tài khoản đó.
Thông tin đăng nhập có sẵn trên gateway cũng cung cấp quyền truy cập vào một khóa ký mà Wiz gọi là Cosmos Master Key. Wiz cho biết khóa ký của gateway có thể truy xuất primary key cho bất kỳ tài khoản nào trên khắp các tenant, khu vực và các API như SQL, MongoDB, Cassandra và Gremlin.
Bí mật tương tự này cũng mở ra một cơ sở dữ liệu khu vực được gọi là Config Store, được Wiz mô tả là một danh bạ chứa tên tài khoản Cosmos DB, định danh subscription và tenant, cài đặt mạng và các tag. Kẻ tấn công có thể sử dụng nó để tìm tài khoản của một tổ chức cụ thể và sau đó yêu cầu primary key của họ.
Wiz cho biết chuỗi này cũng có thể tiếp cận các tài khoản riêng tư và bị cô lập về mạng vì gateway bị xâm nhập thực thi các ranh giới mạng đó từ bên trong dịch vụ. Quyền ghi của các nhà nghiên cứu vào Config Store cho thấy các cài đặt mạng cũng có thể bị thay đổi, mặc dù báo cáo không nói rằng họ đã chứng minh điều đó đối với tài khoản của khách hàng khác.
Tài liệu của Microsoft cho biết dữ liệu tin nhắn Teams được lưu trữ trong Cosmos DB, trong khi một bài đăng kỹ thuật của Microsoft cho biết Copilot lưu trữ các truy vấn và lịch sử trò chuyện của người dùng ở đó. Wiz cho biết các cơ sở dữ liệu hỗ trợ các sản phẩm này có tiềm năng bị truy cập, nhưng không báo cáo về việc đã truy cập dữ liệu của chúng.
Bối cảnh và các lỗ hổng liên quan
Hồ sơ công khai không cho biết thời điểm engine bị lỗi và đường dẫn khóa ký này được đưa vào vận hành, cũng như khoảng thời gian kiểm tra log của Microsoft là bao lâu. Do đó, thời gian phơi nhiễm tiềm tàng vẫn chưa được xác định, mặc dù đường dẫn này hiện đã bị đóng.
Tiết lộ này không liệt kê mã định danh CVE hoặc điểm mức độ nghiêm trọng. CosmosEscape về mặt kỹ thuật tách biệt với các lỗi ChaosDB và CosMiss được công bố vào năm 2021 và 2022, vốn liên quan đến tính năng Jupyter Notebook của Cosmos DB.