Skip to main content
VulnerabilityPublished

@better-auth/scim: Account/provider takeover via missing owner binding on non-org SCIM providers

Affects @better-auth/scimSource GCVE Database

0

CVSS 8.3 High : upgrade to 1.7.0-beta.4 soon.

Data as of 8 Jul 2026, 13:44 UTC

CVSS 3.1 base score
8.3High
How severe the flaw is on the 0–10 CVSS scale.
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:L

What to do

Upgrade @better-auth/scim to 1.7.0-beta.4.

Affected software

ProductAffectedFixed in
npm@better-auth/scimAffected
  • >=1.5.0 <1.7.0-beta.4
Fixed in
  • 1.7.0-beta.4

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.

References

Community reviews

Loading reviews…