Vulnerabilidad en Azure Cosmos DB exponía una clave global que permitía acceder a cualquier base de datos

Detalles de la vulnerabilidad

Una vulnerabilidad ahora parcheada en Azure Cosmos DB podría haber permitido a un atacante escapar del sandbox de consultas Gremlin y obtener acceso completo de lectura y escritura a bases de datos en múltiples inquilinos, según la firma de seguridad en la nube Wiz.

Wiz, que denominó la cadena de explotación CosmosEscape, afirmó que el exploit comenzaba con una consulta manipulada contra una base de datos Gremlin controlada por el atacante. A partir de ahí, la ejecución de código en una puerta de enlace multiinquilino exponía una clave de firma secreta a nivel de plataforma y un directorio regional de cuentas, permitiendo a los investigadores localizar un objetivo y recuperar su clave de cuenta principal.

Respuesta de Microsoft

Microsoft bloqueó el punto de entrada vulnerable de Gremlin en un plazo de 48 horas tras el informe de noviembre de 2025. Wiz señaló que Microsoft completó la corrección a largo plazo en todas las regiones en julio de 2026 y eliminó la clave a nivel de plataforma.

Microsoft indicó que su revisión no encontró actividad no autorizada más allá de las pruebas de los investigadores. Afirmó que no se accedió a datos de clientes y que no se requiere ninguna acción por parte de los clientes.

Contexto técnico

La cadena publicada comienza con una base de datos Gremlin controlada por el atacante y las credenciales de esa cuenta, no con acceso a una base de datos víctima. La guía de conexión actual de Microsoft requiere un host de cuenta, base de datos y ruta de grafo, y clave principal antes de que un cliente pueda enviar consultas Gremlin. Wiz no ha publicado si el exploit requería algo más allá de ese punto de partida.

Según el informe técnico de Wiz, el motor Gremlin personalizado de Cosmos DB traduce las consultas Gremlin a código .NET y las ejecuta dentro de un entorno restringido. Wiz indicó que las restricciones no consideraban la reflexión de .NET, lo que permitió a los investigadores construir primitivas de lectura y escritura de archivos antes de lograr la ejecución de código arbitrario.

Impacto potencial

La ejecución de código se produjo en un componente que Wiz llama DB Gateway, que ejecuta consultas de clientes en clústeres multiinquilino de Azure Service Fabric. Las bases de datos de los clientes no se almacenaban en esos clústeres, pero la puerta de enlace podía recuperar la clave principal de una cuenta de Cosmos DB solicitada. La documentación de Microsoft indica que una clave principal de cuenta de Cosmos DB otorga control total sobre todos los recursos de esa cuenta.

Las credenciales disponibles para la puerta de enlace también proporcionaban acceso a una clave de firma que Wiz denominó Cosmos Master Key. Wiz indicó que la clave de firma de la puerta de enlace podía recuperar la clave principal de cualquier cuenta en todos los inquilinos, regiones y las API SQL, MongoDB, Cassandra y Gremlin.

Implicaciones para servicios como Teams y Copilot

La documentación de Microsoft indica que los datos de mensajes de Teams permanecen en Cosmos DB, mientras que una publicación de ingeniería de Microsoft dice que Copilot almacena las consultas y los historiales de conversación de los usuarios allí. Wiz indicó que las bases de datos que respaldan esos productos eran potencialmente accesibles, pero no reportó haber accedido a sus datos.

Estado de la vulnerabilidad

El registro público no indica cuándo el motor vulnerable y la ruta de la clave de firma entraron en producción ni qué período cubrió la revisión de registros de Microsoft. Por lo tanto, la duración de la exposición potencial sigue siendo desconocida, aunque la ruta conocida ya ha sido cerrada. La divulgación no lista un identificador CVE ni una puntuación de gravedad. CosmosEscape es técnicamente independiente de las fallas ChaosDB y CosMiss divulgadas en 2021 y 2022, que involucraban la función Jupyter Notebook de Cosmos DB.

Cybersecurity
Cybersecurity
Cybersecurity
Cybersecurity

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *