<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://vulnerability.circl.lu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Tue, 29 Sep 2026 18:27:49 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-55678</title>
      <link>https://vulnerability.circl.lu/vuln/fkie_cve-2026-55678</link>
      <description>&lt;p&gt;Arc is an open, SQL-native time-series database for telemetry. From 26.02.1 until 26.06.2, Arc Enterprise clustering accepts cluster join requests without authentication when cluster.enabled is true but cluster.shared_secret is not configured. The defaults in internal/config/config.go set cluster.enabled to false, cluster.cluster_name to arc-cluster, cluster.coordinator_addr to :9100, cluster.shared_secret to an empty value, and cluster.tls_enabled to false, while cmd/arc/main.go requires cluster.shared_secret only when cluster.replication_enabled is true. JoinRequest in internal/cluster/protocol/messages.go accepts attacker-controlled node_id, role, raft_addr, api_addr, and coord_addr values, plus optional auth_nonce, auth_timestamp, and auth_hmac fields. The join path in internal/cluster/coordinator.go validates HMAC authentication only when the configured shared secret is non-empty and otherwise proceeds after only the cluster-name check. An accepted node is marked healthy, added as a Raft voter or registered locally, and becomes available through internal/cluster/registry.go to the routing logic in internal/cluster/router.go. The forwardRequest path in internal/cluster/router.go builds its target from node.APIAddress and copies Authorization and x-api-key headers with the request, so a rogue node selected for a forwarded query or write can receive authentication headers, request bodies, database and measurement names, and operational metadata. Heartbeat in internal/clust…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Arc is an open, SQL-native time-series database for telemetry. From 26.02.1 until 26.06.2, Arc Enterprise clustering accepts cluster join requests without authentication when cluster.enabled is true but cluster.shared_secret is not configured. The defaults in internal/config/config.go set cluster.enabled to false, cluster.cluster_name to arc-cluster, cluster.coordinator_addr to :9100, cluster.shared_secret to an empty value, and cluster.tls_enabled to false, while cmd/arc/main.go requires cluster.shared_secret only when cluster.replication_enabled is true. JoinRequest in internal/cluster/protocol/messages.go accepts attacker-controlled node_id, role, raft_addr, api_addr, and coord_addr values, plus optional auth_nonce, auth_timestamp, and auth_hmac fields. The join path in internal/cluster/coordinator.go validates HMAC authentication only when the configured shared secret is non-empty and otherwise proceeds after only the cluster-name check. An accepted node is marked healthy, added as a Raft voter or registered locally, and becomes available through internal/cluster/registry.go to the routing logic in internal/cluster/router.go. The forwardRequest path in internal/cluster/router.go builds its target from node.APIAddress and copies Authorization and x-api-key headers with the request, so a rogue node selected for a forwarded query or write can receive authentication headers, request bodies, database and measurement names, and operational metadata. Heartbeat in internal/clust…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/fkie_cve-2026-55678</guid>
    </item>
    <item>
      <title>GHSA-p378-jp5r-gpgw — arc has unauthenticated cluster node admission when `cluster.shared_secret` is unset</title>
      <link>https://vulnerability.circl.lu/vuln/ghsa-p378-jp5r-gpgw</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: github.com/basekick-labs/arc&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;Arc Enterprise clustering accepts cluster join requests without authentication when `cluster.enabled=true` but `cluster.shared_secret` is not configured. The coordinator validates HMAC authentication only if a shared secret is non-empty; otherwise, a network attacker who can reach the coordinator port can send a join request with attacker-controlled node addresses and role. Accepted nodes are marked healthy, registered locally or added as Raft voters, and can be selected by the 
cluster router for forwarded authenticated requests.&lt;/p&gt;
&lt;p&gt;## Details&lt;/p&gt;
&lt;p&gt;Cluster defaults include an empty shared secret and TLS disabled:&lt;/p&gt;
&lt;p&gt;- `internal/config/config.go:943-950` defaults `cluster.enabled=false`, `cluster.cluster_name=&amp;#34;arc-cluster&amp;#34;`, and `cluster.coordinator_addr=&amp;#34;:9100&amp;#34;`.
- `internal/config/config.go:1001-1005` defaults `cluster.shared_secret=&amp;#34;&amp;#34;` and `cluster.tls_enabled=false`.&lt;/p&gt;
&lt;p&gt;Startup requires a shared secret only for file replication, not for all clustering/join/routing use:&lt;/p&gt;
&lt;p&gt;- `cmd/arc/main.go:1258-1265` hard-fails without `cluster.shared_secret` only when `cluster.replication_enabled` is true.&lt;/p&gt;
&lt;p&gt;The join request contains attacker-supplied node identity, role, and addresses:&lt;/p&gt;
&lt;p&gt;- `internal/cluster/protocol/messages.go:127-142` defines `JoinRequest` fields including `node_id`, `role`, `raft_addr`, `api_addr`, `coord_addr`, plus optional auth fields.&lt;/p&gt;
&lt;p&gt;The coordinator validates HMAC only when the configured shared secret is non-empty:&lt;/p&gt;
&lt;p&gt;- `internal/cluster/coordinator.go:1066-1081…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: github.com/basekick-labs/arc&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;Arc Enterprise clustering accepts cluster join requests without authentication when `cluster.enabled=true` but `cluster.shared_secret` is not configured. The coordinator validates HMAC authentication only if a shared secret is non-empty; otherwise, a network attacker who can reach the coordinator port can send a join request with attacker-controlled node addresses and role. Accepted nodes are marked healthy, registered locally or added as Raft voters, and can be selected by the 
cluster router for forwarded authenticated requests.&lt;/p&gt;
&lt;p&gt;## Details&lt;/p&gt;
&lt;p&gt;Cluster defaults include an empty shared secret and TLS disabled:&lt;/p&gt;
&lt;p&gt;- `internal/config/config.go:943-950` defaults `cluster.enabled=false`, `cluster.cluster_name=&amp;#34;arc-cluster&amp;#34;`, and `cluster.coordinator_addr=&amp;#34;:9100&amp;#34;`.
- `internal/config/config.go:1001-1005` defaults `cluster.shared_secret=&amp;#34;&amp;#34;` and `cluster.tls_enabled=false`.&lt;/p&gt;
&lt;p&gt;Startup requires a shared secret only for file replication, not for all clustering/join/routing use:&lt;/p&gt;
&lt;p&gt;- `cmd/arc/main.go:1258-1265` hard-fails without `cluster.shared_secret` only when `cluster.replication_enabled` is true.&lt;/p&gt;
&lt;p&gt;The join request contains attacker-supplied node identity, role, and addresses:&lt;/p&gt;
&lt;p&gt;- `internal/cluster/protocol/messages.go:127-142` defines `JoinRequest` fields including `node_id`, `role`, `raft_addr`, `api_addr`, `coord_addr`, plus optional auth fields.&lt;/p&gt;
&lt;p&gt;The coordinator validates HMAC only when the configured shared secret is non-empty:&lt;/p&gt;
&lt;p&gt;- `internal/cluster/coordinator.go:1066-1081…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/ghsa-p378-jp5r-gpgw</guid>
    </item>
  </channel>
</rss>
