Skip to main content
Press slash or control plus K to focus the search. Use the arrow keys to navigate results and press enter to open a threat.
Reconnecting to live updates…

Clauster: Non-loopback deployments can serve the dashboard unauthenticated when auth.enabled is unset

0
High
Published: 07/10/2026 (07/10/2026, 20:37:23 UTC)
Source: GCVE Database
Product: clauster

Description

### Summary A Clauster instance bound to a **non-loopback** address (e.g. `0.0.0.0` or a LAN IP) can serve the entire dashboard and its API **without any authentication** — even when the operator has configured a password — if `auth.enabled` is left at its default (`false`). The operator believes the instance is password-protected; in reality every request is served unauthenticated. ### Impact An unauthenticated attacker with network access to the instance gains full control of the dashboard: list projects, **spawn/stop `claude remote-control` bridges in any project directory**, edit `CLAUDE.md`, read bridge logs, and (where configured) clone repositories. Because bridges run Claude Code against the host's project directories, this is effectively remote code execution in those projects. Loopback (`127.0.0.1`) deployments need no auth by design and are **not** affected. ### Affected configurations All released versions (≤ 0.2.1) where **all** of the following hold: - `host` is a non-loopback address, **and** - `auth.password_required: true` and/or `auth.reverse_proxy.enabled: true` is set, **and** - `auth.enabled` is left at its default `false`. Docker deployments are affected: the image binds `0.0.0.0`, and the previously-documented `docker run` command did not set `auth.enabled`. ### Root cause Two layers checked different flags: - The runtime auth guard enforces authentication only when `config.auth.enabled` is true; when false it passes **every** request through unauthenticated. - The config validator, for a non-loopback bind, required only one of `auth.password_required` / `auth.reverse_proxy.enabled` / `auth.allow_unauthenticated_network` — **not** `auth.enabled`. So a config with a password but `enabled=false` validated, started, and enforced nothing. ### Proof of concept With `host: 0.0.0.0`, `auth.password_required: true`, a valid `auth.password_hash`, and `auth.enabled` unset: ``` curl http://<host>:7621/api/instances ``` returns `200` with the full instance list and **no credentials**. Setting `auth.enabled: true` returns `401`. ### Patches An upcoming patch release makes the config validator **fail closed**: a non-loopback bind is refused unless authentication is actually enforced — `auth.enabled: true` together with `auth.password_required` (+ a hash) or `auth.reverse_proxy.enabled`, or the explicit `auth.allow_unauthenticated_network` opt-out. The README, `clauster.yml.example`, and Docker docs were corrected to match. ### Workaround On any non-loopback deployment, set `auth.enabled: true` in `clauster.yml` (or `CLAUSTER_AUTH_ENABLED=true`) alongside your existing `auth.password_required` + hash (or reverse-proxy) settings. Alternatively, bind to loopback only and reach it via an SSH tunnel or a trusted authenticating reverse proxy. ### Credit Found during an internal security review.

CVSS v4.0

Attack Vector
Adjacent Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vuln. Confidentiality
High
Vuln. Integrity
High
Vuln. Availability
High
Subsq. Confidentiality
None
Subsq. Integrity
None
Subsq. Availability
None
CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Affected software

PyPIghsa
clauster
Affected versions
<0.2.2

Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.

AI-Powered Analysis

Machine-generated threat intelligence

AILast updated: 07/11/2026, 09:48:45 UTC

Technical Analysis

A vulnerability in Clauster (≤0.2.1) occurs when the instance is bound to a non-loopback address and authentication is partially configured (password or reverse proxy enabled) but the auth.enabled flag remains false (default). The runtime authentication guard only enforces authentication if auth.enabled is true, otherwise it allows all requests unauthenticated. The configuration validator does not require auth.enabled to be true when password or reverse proxy authentication is set, resulting in a misconfiguration that exposes the dashboard and API without authentication. This enables unauthenticated attackers with network access to fully control the dashboard and execute code remotely via Claude Code bridges. Loopback-only deployments are unaffected. A patch release will enforce fail-closed validation requiring auth.enabled to be true for non-loopback binds with authentication settings. Documentation and Docker defaults have been updated accordingly.

Potential Impact

Unauthenticated attackers with network access to a Clauster instance bound to a non-loopback address and misconfigured authentication can gain full control over the dashboard and API. They can list projects, spawn or stop remote-control bridges that execute code in project directories, edit files, read logs, and clone repositories. This effectively allows remote code execution within the context of the project directories. Loopback-only deployments are not impacted. The vulnerability arises from a configuration validation flaw combined with runtime enforcement logic.

Mitigation Recommendations

A patch release is planned that will enforce strict configuration validation requiring auth.enabled to be true when authentication is configured on non-loopback binds. Until the patch is available, operators should explicitly set auth.enabled: true in their configuration alongside existing auth.password_required and password hash or reverse proxy settings. Alternatively, bind Clauster to the loopback interface only and access it through an SSH tunnel or trusted authenticating reverse proxy. The updated documentation and Docker usage instructions reflect these mitigations.

Pro Console: star threats, build custom feeds, automate alerts via Slack, email & webhooks.Upgrade to Pro

Technical Details

Gcve Source
db.gcve.eu
Osv Id
GHSA-h4g2-xfmw-q2c9
Osv Schema Version
1.4.0
Aliases
[]
Ecosystems
["PyPI"]
Database Specific Severity
HIGH
Cvss Version
4.0

Threat ID: 6a520eb168715ace438f4ff3

Added to database: 07/11/2026, 09:36:49 UTC

Last enriched: 07/11/2026, 09:48:45 UTC

Last updated: 07/31/2026, 12:27:30 UTC

Views: 28

Community Reviews

0 reviews

Crowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.

Sort by
Loading community insights…

Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.

Actions

PRO

Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.

Please log in to the Console to use AI analysis features.

Need more coverage?

Upgrade to Pro Console for AI refresh and higher limits.

For incident response and remediation, OffSeq services can help resolve threats faster.

Latest Threats

Breach by OffSeqOFFSEQFRIENDS — 25% OFF

Check if your credentials are on the dark web

Instant breach scanning across billions of leaked records. Free tier available.

Scan now
OffSeq TrainingCredly Certified

Lead Pen Test Professional

Technical5-day eLearningPECB Accredited
View courses