Skip to content

🤖 CoderWorkspaceClaim Share mode: claim reasons reveal facts about named Coder users #449

Open

Description

@ThomasK33

Problem

A Share claim (#446) shows why its user cannot get the share. The reasons ShareUserNotFound and ShareUserNotEligible and their messages tell the claimant whether a named Coder user exists, whether the user is active, and whether the user is a member of the template's organization and of a group in the owner's shareGroupIDs. So anyone who can create and read claims in a namespace with a Share pool can learn these facts about Coder users, even without access to Coder's user directory.

Found by the Codex security review of #446 (round 4, P3): #446 (comment)

Impact

Only principals that the namespace's RBAC lets create and read claims see the reasons, and only for the users they name. Share mode is an admin opt-in per owner. No data loss. Plan 6.4 of #153 defines these reasons on purpose so that a claimant can see why a claim waits, and the refusal names a group that Coder would not let the operator read, so that an admin can fix the pool.

Options

  1. Give the claim one generic refusal reason, and keep the details where only admins see them (for example Events in the operator's namespace, or the operator log).
  2. Keep the detailed reasons and add a docs note in the pool how-to: claim status shows whether a named Coder user exists, is active, and is in the organization and a listed group, so grant claim create and read only to people who can know that.

Refs #153.


Generated with xum • Model: anthropic:claude-opus-5-5 • Thinking: xhigh

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions