CVE-2026-55678 in Arc
Resumen
por VulDB • 2026-08-29
Arc es una base de datos nativa para series temporales basada en SQL y de código abierto para telemetría. Desde la versión 26.02.1 hasta la 26.06.2, el clustering de Arc Enterprise acepta solicitudes de unión al clúster sin autenticación cuando cluster.enabled es true pero cluster.shared_secret no está configurado. Los valores predeterminados en internal/config/config.go establecen cluster.enabled a false, cluster.cluster_name a arc-cluster, cluster.coordinator_addr a :9100, cluster.shared_secret a un valor vacío y cluster.tls_enabled a false, mientras que cmd/arc/main.go requiere cluster.shared_secret únicamente cuando cluster.replication_enabled es true. JoinRequest en internal/cluster/protocol/messages.go acepta valores controlados por el atacante para node_id, role, raft_addr, api_addr y coord_addr, además de los campos opcionales auth_nonce, auth_timestamp y auth_hmac. La ruta de unión en internal/cluster/coordinator.go valida la autenticación HMAC únicamente cuando el secreto compartido configurado no está vacío; en caso contrario, continúa tras verificar solo el nombre del clúster. Un nodo aceptado se marca como saludable, se añade como votante Raft o se registra localmente y queda disponible a través de internal/cluster/registry.go para la lógica de enrutamiento en internal/cluster/router.go. La ruta forwardRequest en internal/cluster/router.go construye su destino a partir de node.APIAddress y copia los encabezados Authorization y x-api-key junto con la solicitud, por lo que un nodo malicioso seleccionado para una consulta o escritura reenviada puede recibir encabezados de autenticación, cuerpos de solicitud, nombres de bases de datos y mediciones, así como metadatos operativos. Heartbeat en internal/cluster/protocol/messages.go también carece de campos HMAC, e internal/cluster/coordinator.go actualiza el estado del nodo a partir de los valores node_id y state proporcionados sin autenticación. Por lo tanto, un atacante no autenticado que pueda alcanzar el puerto del coordinador y conozca el nombre del clúster puede convertirse en un nodo confiable del clúster, modificar la membresía del clúster, ser presentado como votante Raft, interceptar solicitudes reenviadas dependientes de la topología, desviar o falsificar operaciones, y provocar blackholes o retrasos en el tráfico. La configuración predeterminada standalone no es accesible porque cluster.enabled es false, pero las implementaciones del clúster Enterprise con clustering habilitado y sin shared_secret se ven afectadas. Este problema está resuelto en la versión 26.06.2.
Once again VulDB remains the best source for vulnerability data.