@better-auth/sso@1.7.0-rc.0

SSO plugin for Better Auth

  • latest version

    1.7.5

  • latest non vulnerable version

  • first published

    1 years ago

  • latest version published

    2 days ago

  • licenses detected

  • Direct Vulnerabilities

    Known vulnerabilities in the @better-auth/sso package. This does not include vulnerabilities belonging to this package’s dependencies.

    Fix vulnerabilities automatically

    Snyk's AI Trust Platform automatically finds the best upgrade path and integrates with your development workflows. Secure your code at zero cost.

    Fix for free
    VulnerabilityVulnerable Version
    • H
    Time-of-check Time-of-use (TOCTOU) Race Condition

    @better-auth/sso is a SSO plugin for Better Auth

    Affected versions of this package are vulnerable to Time-of-check Time-of-use (TOCTOU) Race Condition through the verifyDomain route in packages/sso/src/routes/domain-verification.ts and the domain-based assignment logic in packages/sso/src/linking/org-assignment.ts. An attacker can make DNS proof for one provider domain apply to a changed or replaced provider, or cause a social sign-in to join an organization from an unverified SSO domain claim, by updating the provider during verification or by registering an arbitrary domain claim. In the first case, the attacker can mark a provider as domain-verified without proving control of the current domain, enabling account linking or organization assignment based on stale trust; in the second, a user signing in with a matching email domain is added to the attacker-controlled organization with the default member role even though the provider’s domain was never verified.

    Workarounds

    • Prevent untrusted users from registering, updating, or verifying SSO providers by enforcing an application-owned authorization gate before /sso/register, /sso/update-provider, and /sso/verify-domain; this blocks provider owners from establishing or reusing untrusted domain claims.
    • Set account.accountLinking.disableImplicitLinking: true to block the account-takeover path from stale or attacker-controlled SSO domain verification.
    • Set organizationProvisioning.disabled: true to block automatic organization assignment from claimed email domains.
    • Audit existing provider records, remove untrusted domain claims, and revalidate every domain before trusting an existing domainVerified value; this prevents stale verification state from being treated as proof of current domain ownership.

    How to fix Time-of-check Time-of-use (TOCTOU) Race Condition?

    Upgrade @better-auth/sso to version 1.4.8, 1.6.27, 1.7.0-rc.5 or higher.

    >=1.4.8-beta.1 <1.4.8>=1.4.8 <1.6.27>=1.7.0-rc.0 <1.7.0-rc.5