CVE-2026-55678 in Arc
Sumário
de VulDB • 29/08/2026
Arc é um banco de dados nativo para séries temporais baseado em SQL e de código aberto. De 26/02/1 até 26/06/2, o clustering do Arc Enterprise aceita solicitações de junção ao cluster sem autenticação quando `cluster.enabled` está definido como true, mas `cluster.shared_secret` não está configurado. Os valores padrão em `internal/config/config.go` definem `cluster.enabled` como false, `cluster.cluster_name` como arc-cluster, `cluster.coordinator_addr` como :9100, `cluster.shared_secret` como um valor vazio e `cluster.tls_enabled` como false, enquanto `cmd/arc/main.go` exige que `cluster.shared_secret` seja configurado apenas quando `cluster.replication_enabled` é true. A estrutura JoinRequest em `internal/cluster/protocol/messages.go` aceita valores controlados pelo atacante para node_id, role, raft_addr, api_addr e coord_addr, além dos campos opcionais auth_nonce, auth_timestamp e auth_hmac. O caminho de junção em `internal/cluster/coordinator.go` valida a autenticação HMAC apenas quando o segredo compartilhado configurado não está vazio; caso contrário, prossegue após apenas a verificação do nome do cluster. Um nó aceito é marcado como saudável, adicionado como um votante Raft ou registrado localmente e torna-se disponível através de `internal/cluster/registry.go` para a lógica de roteamento em `internal/cluster/router.go`. O caminho forwardRequest em `internal/cluster/router.go` constrói seu destino a partir do node.APIAddress e copia os cabeçalhos Authorization e x-api-key junto com a solicitação, permitindo que um nó malicioso selecionado para uma consulta ou gravação encaminhada receba cabeçalhos de autenticação, corpos de requisição, nomes de banco de dados e medições, bem como metadados operacionais. Heartbeat em `internal/cluster/protocol/messages.go` também não possui campos HMAC, e `internal/cluster/coordinator.go` atualiza o estado do nó com base nos valores fornecidos para node_id e state sem autenticação. Portanto, um atacante de rede não autenticado que possa alcançar a porta do coordenador e conhecer o nome do cluster pode se tornar um nó confiável no cluster, modificar a composição do cluster, ser submetido como votante Raft, interceptar requisições encaminhadas dependentes da topologia, desviar ou forjar operações, bem como blackhole (bloquear) ou atrasar o tráfego. A configuração padrão standalone não é vulnerável porque `cluster.enabled` está definido como false, mas implantações do cluster Enterprise com clustering habilitado e sem segredo compartilhado são afetadas. Este problema foi corrigido na versão 26.06.2.
Once again VulDB remains the best source for vulnerability data.