Repository navigation
fix(deps): bump better-auth suite from 1.6.23 to 1.6.34 - #5867
Open
superbot-helper wants to merge 1 commit into
Open
superbot-helper wants to merge 1 commit into
superbot-helper wants to merge 1 commit into
Conversation
@better-auth/sso 1.6.23 is affected by GHSA-8c5h-wx78-2cfg (high, CVSS 8.1): an unproven SSO domain claim can allow account takeover or organization joins. The fix on the 1.6 line is 1.6.27; 1.6.34 is the latest 1.6.x patch and includes it. Better Auth's packages peer on exact versions of each other, so the suite moves together from 1.6.23 to 1.6.34: better-auth, @better-auth/core (transitive), @better-auth/api-key, @better-auth/passkey, @better-auth/scim and @better-auth/sso. better-call moves from 1.3.7 to 1.4.0 because every 1.6.34 package declares it as an exact peer. @better-auth/utils is pinned to 0.4.2 in the root overrides so pnpm does not auto-install 0.5.1 for apps/dokploy and report an unmet peer. The 1.7.x line is a separate minor upgrade and is not part of this patch. GHSA-prpr-5gj3-qqhg is already fixed at 1.6.23 (it affects <=1.6.20), and GHSA-mx9r-x6ww-qjw9 only affects 1.7.0-1.7.2, so this bump clears GHSA-8c5h-wx78-2cfg only. Verified with pnpm 10.22.0 on Node 24.22.1: pnpm install --frozen-lockfile, pnpm server:build, pnpm typecheck, and the server-barrel vitest suites under apps/dokploy/__test__.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
canary(the repository's default branch)CONTRIBUTING.mdBumps the Better Auth suite from 1.6.23 to 1.6.34.
@better-auth/sso1.6.23 is affected by GHSA-8c5h-wx78-2cfg, where an unproven SSO domain
claim can allow account takeover or organization joins. The fix on the
1.6 line is
@better-auth/sso1.6.27; 1.6.34 is the latest 1.6.x patchand includes it.
@better-auth/sso>=1.4.9 <=1.6.26,>=1.7.0-beta.0 <=1.7.0-rc.41.6.27/1.7.0-rc.5@better-auth/sso<=1.6.20,>=1.7.0-beta.0 <1.7.0-beta.101.6.21/1.7.0-beta.10@better-auth/sso>=1.7.0-rc.2 <1.7.0,>=1.7.0 <1.7.31.7.3Which advisories this clears: GHSA-8c5h-wx78-2cfg only.
<=1.6.20.1.7.0-rc.2through1.7.0-rc.6and1.7.0through1.7.2. A 1.6.xbump cannot clear it. Clearing it means a minor bump to
>=1.7.3, whichis a separate migration and is intentionally not part of this patch.
None of the three records is in the global advisory database or OSV: all
three GHSA IDs return 404 from
api.github.com/advisoriesand fromapi.osv.dev/v1/vulns/. The npm bulk advisory feed returns{}for both@better-auth/sso1.6.23 and 1.6.34 when queried with the lowercasepackage key and one exact version, so no scan delta exists for this
change —
npm auditand Dependabot have no record to match. That is whyno bot PR exists for these advisories.
What this does
The SSO plugin trusts a provider for the email domains it claims.
GHSA-8c5h-wx78-2cfg has two flaws:
domains, so an untrusted organization owner can register a provider for
a domain they do not control and have later users with that email domain
added to their organization.
domainVerification.enabled: true, the verification endpoint readsa provider and its domains before asynchronous DNS lookups, and the
provider-update endpoint can change them while those lookups are
pending. The stale proof is then written against the current domains.
When implicit account linking is enabled this can attach an attacker's
identity provider to an existing user's account.
1.6.27 binds domain verification to the exact provider and domain set that
passed DNS, and requires verification for automatic organization
assignment.
Reachability in Dokploy
packages/server/src/lib/auth.ts:492registers the plugin assso({ trustEmailVerified: true })withoutdomainVerification, so bothflaws' preconditions need an untrusted user who can register or update an
SSO provider. In this repository SSO providers are not self-service:
packages/server/src/lib/auth.ts:72-74disables the plugin's own/sso/registerroute throughdisabledPaths.router at
apps/dokploy/server/api/routers/proprietary/sso.ts:261,which uses
enterpriseProcedure(apps/dokploy/server/api/trpc.ts:219):an instance admin/owner and a valid enterprise license.
The advisory says a deployment is not affected when only trusted operators
can register, update or verify providers, which is Dokploy's default
configuration. This PR is therefore dependency hygiene and
defense-in-depth — it removes the affected release from the pinned
manifests and keeps Dokploy on the patched 1.6 line. It is not a claim of
a live exploit in this repository.
Change
apps/dokploy/package.json:@better-auth/api-key,@better-auth/passkey,@better-auth/scim,@better-auth/ssoandbetter-authfrom1.6.23to1.6.34.packages/server/package.json: the same five.package.json:pnpm.overridesbetter-callfrom1.3.7to1.4.0,and add
@better-auth/utilsat0.4.2.pnpm-lock.yaml: regenerated with the repository's ownpackageManager(pnpm@10.22.0, Node 24.22.1).The whole suite moves together because every 1.6.34 package peers on
better-authand@better-auth/coreat^1.6.34, and onbetter-call: 1.4.0and@better-auth/utils: 0.4.2exactly. Bumping@better-auth/ssoalone would leavebetter-auth1.6.23 outside theplugin's
^1.6.34peer range. The@better-auth/utilsoverride is needed becauseapps/dokploydoes not declare that package directly and pnpm otherwiseauto-installs
0.5.1, reporting five unmet-peer warnings against theexact
0.4.2peer.Lock churn is confined to the Better Auth packages and
better-call: 18snapshot entries added, 18 removed, 26 package names total, all
better-auth*1.6.23 → 1.6.34 orbetter-call1.3.7 → 1.4.0. No otherpackage version changes. The lockfile format is unchanged
(
lockfileVersion: '9.0').Verification performed on the branch
Environment: macOS arm64, Node 24.22.1, pnpm 10.22.0 (from the repo's
packageManagerfield).canaryat78d235a:pnpm install --frozen-lockfileexit 0; resolves@better-auth/sso@1.6.23;pnpm server:buildexit 0;pnpm typecheckexit 0;
pnpm exec biome check .reports 41 errors, 101 warnings and42 infos — canary already fails
biome check, and CI runsbiome format, notbiome check; the scoped server-barrel vitestsuites pass (4 files, 53 tests). The branch base
9f76ae0only addsunrelated
server-securitysource files; the four files this PRtouches and the lockfile are byte-identical between the two canary
commits.
security/bump-better-auth-1.6.34atf8379af:pnpm install --frozen-lockfileexit 0 andgit statusclean afterthe install; resolves
@better-auth/sso@1.6.34,better-auth@1.6.34,@better-auth/{api-key,passkey,scim}@1.6.34,better-call@1.4.0and exactly one@better-auth/utils@0.4.2instance(no 0.5.1);
pnpm server:buildexit 0;pnpm typecheckexit 0;pnpm exec biome check .produces exactly the same diagnostics as thecontrol; the same scoped vitest suites pass (4 files, 53 tests).
manifests produces a zero-byte diff, so the lock diff above is caused
only by this bump and not by the pnpm version.
f8379af:pnpm server:buildexit 0 andpnpm build(pnpm -r run build) exit 0;packages/server,apps/dokploy(esbuild + Next.js),apps/apiandapps/schedulesall build.pnpm server:buildruns the repo'sswitch:prodscript, which rewritespackages/server/package.jsonmain/exportsto thedistentries. That happens on canary too; thecommit does not include it.
How should this be manually tested?
pnpm install --frozen-lockfile pnpm server:build pnpm typecheck # SSO sign-in / organization flows against a local instanceWhy this is not a bot PR
The three advisories are repository advisories in
better-auth/better-auth, not global-database records, so the npm bulkadvisory feed has nothing to match: it returns
{}for@better-auth/sso1.6.23 and 1.6.34 with the lowercase key. The repository has no
dependabot.ymland no Renovate config, and there is no existing PR forthis bump (the last Better Auth upgrade PRs were #3969 in March 2026 and
#3783 in February 2026). This PR is filed so the pinned 1.6.23 release is
replaced with the patched 1.6.x release.


Confidence Score: 5/5
The PR appears safe to merge; no actionable regression was found.Summary
Updates the Better Auth suite from
1.6.23to1.6.34in both workspace consumers.Reviews (1) · Last reviewed commit: "fix(deps): bump better-auth to 1.6.34 fo..." · Reviewed by Greptile