Pesquisadores do Microsoft Security Response Center (MSRC) e da Orca Security chamaram a atenção esta semana para uma vulnerabilidade crítica no Microsoft Azure Cosmos DB que afeta seu recurso Cosmos DB Jupyter Notebooks. O bug de execução remota de código (RCE) fornece um retrato de como os pontos fracos na arquitetura de autenticação de ambientes nativos da nuvem e amigáveis ao aprendizado de máquina podem ser usados por invasores.
Apelidada de CosMiss pela equipe de pesquisa do Orca, a vulnerabilidade se resume a uma configuração incorreta na forma como os cabeçalhos de autorização são tratados, o que permite que usuários não autenticados obtenham acesso de leitura e gravação aos Notebooks do Azure Cosmos DB e injetem e substituam código.
“Em resumo, se um invasor tivesse conhecimento do ‘forwardingId’ de um Notebook, que é o UUID do Notebook Workspace, ele teria permissões totais no Notebook, incluindo acesso de leitura e gravação, e a capacidade de modificar o sistema de arquivos de o contêiner executando o notebook”, escreveram Lidor Ben Shitrit e Roee Sagi, do Orca, em um resumo técnico da vulnerabilidade. “Ao modificar o sistema de arquivos do contêiner – também conhecido como espaço de trabalho dedicado para hospedagem temporária de notebooks – conseguimos obter o RCE no contêiner do notebook.”
Um banco de dados NoSQL distribuído, o Azure Cosmos DB foi projetado para dar suporte a aplicativos escalonáveis e de alto desempenho com alta disponibilidade e baixa latência. Entre seus usos estão a telemetria e análise de dispositivos IoT; serviços de varejo em tempo real para executar itens como catálogos de produtos e recomendações personalizadas orientadas por IA; e aplicativos distribuídos globalmente, como serviços de streaming, serviços de coleta e entrega e similares.
Enquanto isso, o Jupyter Notebooks é um ambiente de desenvolvedor interativo (IDE) de código aberto usado por desenvolvedores, cientistas de dados, engenheiros e analistas de negócios para fazer tudo, desde exploração e limpeza de dados até modelagem estatística, visualização de dados e aprendizado de máquina. É um ambiente poderoso criado para criar, executar e compartilhar documentos com código ao vivo, equações, visualizações e texto narrativo.
Os pesquisadores da Orca dizem que essa funcionalidade torna uma falha na autenticação nos Notebooks Cosmos DB particularmente arriscada, pois eles são “usados por desenvolvedores para criar código e geralmente contêm informações altamente confidenciais, como segredos e chaves privadas incorporadas ao código”.
A falha foi introduzida no final do verão, encontrada e divulgada à Microsoft pela Orca no início de outubro e corrigida em dois dias. O patch não exigiu nenhuma ação dos clientes para ser implementado devido à arquitetura distribuída do Cosmos DB.
Não é a primeira vulnerabilidade encontrada no Cosmos
A integração interna de Jupyter Notebooks no Azure Cosmos DB ainda é um recurso no modo de visualização, mas essa definitivamente não é a primeira falha divulgada encontrada nele. No ano passado, pesquisadores da Wiz.io descobriram uma cadeia de falhas no recurso que dava a qualquer usuário do Azure acesso total de administrador às instâncias do Cosmos DB de outros clientes sem autorização. Na época, pesquisadores relataram que grandes marcas como Coca-Cola, Kohler, Rolls-Royce, Siemens e Symantec tinham chaves de banco de dados expostas.
O risco e os impactos desta última falha são discutivelmente mais limitados em escopo do que o anterior devido a vários fatores que o MSRC apresentou em um blog publicado na terça-feira.
De acordo com o blog do MSRC, o bug explorável foi exposto por aproximadamente dois meses depois que uma atualização neste verão em uma API de back-end resultou em solicitações não autenticadas corretamente. A boa notícia é que a equipe de segurança realizou uma investigação completa da atividade e não encontrou nenhum sinal de invasores aproveitando a falha na época.
“A Microsoft conduziu uma investigação de dados de log de 12 de agosto a 6 de outubro e não identificou nenhuma solicitação de força bruta que indicasse atividade maliciosa”, escreveu um porta-voz do MSRC , que também observou que 99,8% dos clientes do Azure Cosmos DB ainda não usam o Jupyter Cadernos.
Para mitigar ainda mais o risco é o fato de que o forwardingId utilizado na prova de conceito do Orca tem uma vida útil muito curta. Os notebooks são executados em um espaço de trabalho de notebook temporário que tem uma vida útil máxima de uma hora, após a qual todos os dados nesse espaço de trabalho são excluídos.
“O impacto potencial é limitado ao acesso de leitura/gravação dos notebooks da vítima durante o tempo em que o espaço de trabalho temporário dos notebooks está ativo”, explicou a Microsoft. “A vulnerabilidade, mesmo com conhecimento do forwardingId, não dava a capacidade de executar notebooks, salvar notebooks automaticamente no repositório GitHub conectado (opcional) da vítima ou acessar dados na conta do Azure Cosmos DB.”
FONTE: DARK READING