A Metabase alertou que uma falha de segurança de gravidade máxima, que impacta seu pacote de software de inteligência de negócios e visualização de dados, foi explorada na prática como zero-day (vulnerabilidade desconhecida e sem correção disponível no momento do ataque).
A vulnerabilidade (pontuação CVSS — Sistema de Pontuação de Vulnerabilidades Comuns: 10,0), que não possui identificador CVE (Vulnerabilidades e Exposições Comuns), permite que um atacante remoto não autenticado injete SQL (Linguagem de Consulta Estruturada) arbitrária no banco de dados da aplicação Metabase, possibilitando a obtenção de acesso de administrador à instância.
Com o acesso elevado, o atacante pode alterar a configuração da aplicação, roubar credenciais armazenadas dos bancos de dados conectados, ler quaisquer dados acessíveis por meio dessas conexões e exportar informações.
"Identificamos recentemente que o Metabase Cloud foi atacado por alguém utilizando uma vulnerabilidade de segurança desconhecida ('0-day') nas versões 1.58 e superiores", afirmou a Metabase em um comunicado.
As instâncias do Metabase Cloud já foram atualizadas para a versão mais recente. Usuários que executam versões auto-hospedadas são orientados a aplicar as correções de segurança divulgadas pela Metabase com efeito imediato. As seguintes versões são afetadas:
- >= x.58.0, < x.58.23 (corrigida em x.58.24)
- >= x.59.0, < x.59.20 (corrigida em x.59.21)
- >= x.60.0, < x.60.16 (corrigida em x.60.17)
- >= x.61.0, < x.61.10 (corrigida em x.61.11)
- >= x.62.0, < x.62.8 (corrigida em x.62.9)
- >= x.63.0, < x.63.3 (corrigida em x.63.5)
Como solução alternativa temporária até que as correções possam ser aplicadas, recomenda-se bloquear o endpoint (ponto de acesso de uma API) "/api/session/reset_password". Após a conclusão da atualização, os clientes que mantêm o endpoint "/api/session/reset_password" publicamente acessível são orientados a realizar as seguintes etapas:
- Revogar todas as sessões de usuário ativas acessando o banco de dados da aplicação Metabase e excluindo todas as linhas da tabela core_session;
- Revisar as chaves de API (Interface de Programação de Aplicações) e excluir quaisquer chaves não reconhecidas;
- Revisar as contas de administrador em busca de alterações inesperadas;
- Rotacionar as credenciais de quaisquer bancos de dados conectados;
- Revisar os logs (registros de atividades) do data warehouse (repositório central de dados) em busca de sinais de acesso não autorizado;
- Revisar o histórico de atividades e consultas da Metabase em busca de ações inesperadas ou não autorizadas.
A Metabase não compartilhou detalhes específicos sobre a atividade maliciosa, mas divulgou os seguintes indicadores de comprometimento (IoCs):
- Uma chamada para "POST /api/session/reset_password" com código de status 400;
- Em seguida, uma chamada para "GET /api/user/current" com código de status 200.
"Se você encontrar esse padrão nos logs da sua aplicação ou nos logs de ingresso do servidor Metabase, é provável que sua instância tenha sido comprometida", afirmou o CEO da Metabase, Sameer Al-Sakran.
Uma das empresas afetadas é a Framework. Segundo a Engadget, a fabricante de computadores pessoais alertou todos os seus clientes de que nomes, IPs de login, endereços, números de telefone e e-mails foram acessados durante o ataque. A empresa informou que nenhuma informação de pedido ou pagamento foi acessada.
Exatamente três anos atrás, a Metabase agiu para corrigir outra falha "extremamente grave" (CVE-2023-38646, pontuação CVSS: 9,8), que poderia ter resultado em execução remota de código pré-autenticada nas instalações afetadas.