@better-auth/scim: Account/provider takeover via missing owner binding on non-org SCIM providers
Affects @better-auth/scimSource GCVE Database
CVSS 8.3 High : upgrade to 1.7.0-beta.4 soon.
Data as of 8 Jul 2026, 13:44 UTC
- Patch
- Available – fixed in 1.7.0-beta.4
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:LWhat to do
Upgrade @better-auth/scim to 1.7.0-beta.4.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| npm@better-auth/scim | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
Upgrade to @better-auth/scim version 1.7.0-beta.4 or later (including 1.7.0), which enforces mandatory owner binding and removes the providerOwnership option. After upgrading, run the schema migration using 'npx auth migrate' to add the permanent scimProvider.userId column. For connections created before the upgrade that lack an owner, manually reclaim them by deleting or assigning ownership at the database level and regenerating tokens. If upgrading is not immediately possible, enable providerOwnership: { enabled: true } when registering the plugin and run the schema migration as a temporary workaround. Note that the 1.6.x stable line is not patched.
Description
The @better-auth/scim plugin versions from 1.5.0 onward have a vulnerability affecting non-organization (personal) SCIM providers when the providerOwnership option is not enabled. This allows any authenticated user in a multi-user deployment to manage another user's non-org SCIM provider, including reading metadata, listing connections, regenerating SCIM bearer tokens, and deleting connections. Regenerating a token invalidates the legitimate user's token and grants the attacker a valid token, enabling account/provider takeover. Organization-scoped providers are not affected due to enforced membership and role checks. The issue is fixed in version 1.7.0-beta.4 and later, which makes owner binding mandatory and removes the providerOwnership option. The 1.6.x stable line remains unpatched.