
CVE-2023-38646 é uma vulnerabilidade de execução remota de código no Metabase. Essa vulnerabilidade se origina de uma falha de segurança no tratamento da string de conexão JDBC pelo Metabase ao processar o endpoint de API não autenticado /api/setup/validate. Um atacante pode, ao construir uma string de conexão JDBC específica, utilizar esse endpoint para executar comandos arbitrários no servidor, sem necessidade de autenticação.
CVE-2023-38646 é uma vulnerabilidade de execução remota de código no Metabase. Esta vulnerabilidade decorre de uma falha de segurança no processamento de strings de conexão JDBC pelo Metabase ao lidar com o endpoint de API não autenticado /api/setup/validate. Um atacante pode, ao construir uma string de conexão JDBC específica, usar esse endpoint para executar comandos arbitrários no servidor sem necessidade de autenticação.
Especificamente, o atacante primeiro obtém um setup-token acessando /api/session/properties, em seguida, utilizando esse token, envia uma requisição contendo uma string de conexão JDBC maliciosa para /api/setup/validate. Devido à falta de validação de segurança adequada nessas requisições pelo Metabase, o atacante consegue executar código arbitrário dentro dos privilégios do servidor.
A existência dessa vulnerabilidade se deve principalmente ao fato de que, ao processar configurações de conexão de banco de dados, o Metabase não realiza uma validação rigorosa de segurança na string de conexão JDBC fornecida pelo usuário, permitindo que um atacante alcance a execução remota de código por meio de requisições cuidadosamente elaboradas.