Skip to content

release: to prod#1555

Merged
joelorzet merged 4 commits into
prodfrom
staging
Jun 15, 2026
Merged

release: to prod#1555
joelorzet merged 4 commits into
prodfrom
staging

Conversation

@joelorzet

Copy link
Copy Markdown

No description provided.

…ting code

Anonymous better-auth accounts could mint mcp:write OAuth tokens and call
the execution endpoints to run sandboxed code plus outbound HTTP, all
unauthenticated and unmetered.

Refuse OAuth consent for anonymous principals so no mcp token is ever
issued, reject anonymous subjects in the OAuth-token and API-key resolvers
so any existing credential is neutralized, and block the browser-session
path on the workflow execute route. Anonymous users keep browse and build
access but cannot run.
- Return 403 (not generic 401) for anonymous principals at the direct
  execution routes by surfacing the resolver status through validateApiKey.
- Carry isAnonymous on DualAuthContext (computed from the already-loaded
  session) instead of an extra per-execution user lookup; drop the now
  unused isAnonymousUserId helper.
- Drop ticket ids from the new code comments.
The /sign-in/anonymous endpoint previously fell through to the loose /*
default, leaving unbounded anonymous account and org creation. Add a
per-IP customRule mirroring the signup gate so anonymous session minting
is throttled to 5/hour, with the same E2E bypass and CF-Connecting-IP
source.
…tion

fix(security): block anonymous accounts from minting tokens and executing code
@joelorzet joelorzet requested review from a team, OleksandrUA, eskp and suisuss and removed request for a team June 15, 2026 16:11
@joelorzet joelorzet merged commit 30b6de4 into prod Jun 15, 2026
24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant