Skip to main content

Better Auth EUVDEUVD-2026-25617

| CVE-2026-41427 HIGH
Incorrect Authorization (CWE-863)
2026-04-24 GitHub_M GHSA-xr8f-h2gw-9xh6
7.1
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as any low-privilege user
  2. Delivery
    Reach /oauth2/create-client endpoint
  3. Exploit
    Submit create request bypassing clientPrivileges hook
  4. Execution
    Register OAuth client with attacker redirect_uris
  5. Persist
    Lure victims through rogue OAuth flow
  6. Impact
    Capture tokens for phishing/account takeover

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires an authenticated (but low-privilege) user session (PR:L) that can reach the /oauth2/create-client or /admin/oauth2/create-client endpoint over the network. The bug only has security impact when the deployment has configured the clientPrivileges option expecting it to gate the create action - if clientPrivileges is not configured, there is no security consequence. Exploitation is limited to the create operation only (read, list, update, delete, and rotate correctly enforced the hook), and escalation to sensitive fields such as skip_consent additionally requires the separate misconfiguration of exposing the SERVER_ONLY admin creation endpoint to end-user sessions. Affected versions are @better-auth/oauth-provider >= 1.4.8-beta.7 and < 1.6.5 plus 1.7.0-beta.0/1.7.0-beta.1.

Impact

Signals are mixed and point to a real but non-critical, targeted risk. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N, VI:H/SI:L, score 7.1) shows network-reachable, low-complexity exploitation requiring only low privileges (an authenticated account) with a primarily integrity impact and no confidentiality or availability loss. EPSS is very low (0.05%, 15th percentile) and SSVC reports Exploitation: none, Automatable: no, Technical Impact: partial - consistent with a bug that requires a valid authenticated session and a specific configuration rather than mass, unauthenticated scanning. Publicly available POC code exists, but that is distinct from active exploitation, and there is no CISA KEV listing. A key scoping nuance: this issue only has security consequence for deployments that actually configured clientPrivileges expecting it to restrict client creation; deployments without clientPrivileges configured are unaffected, which narrows the true exposed population considerably.

Exploit ScenarioDerived

An attacker who holds any ordinary authenticated account on a Better Auth deployment that relies on clientPrivileges to restrict registration sends a request to /oauth2/create-client and registers a new OAuth client with attacker-controlled redirect_uris and metadata. Because the client appears as a registered first-party application, the attacker then lures victims through an OAuth flow that redirects tokens or codes to their infrastructure for phishing/account takeover. A public POC gist demonstrating the endpoint bypass is available, and the low attack complexity makes reproduction straightforward for any valid user.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 24, 2026

Authorization bypass in the @better-auth/oauth-provider plugin for Better Auth (versions >= 1.4.8-beta.7 and < 1.6.5, plus 1.7.0-beta.0/1.7.0-beta.1) lets any authenticated user register OAuth clients even when the clientPrivileges option was configured to gate the create action. The OAuth client creation endpoints (/oauth2/create-client and /admin/oauth2/create-client) never invoked the clientPrivileges hook before persisting new records, so restrictions on client registration were silently ineffective. Publicly available exploit code exists; EPSS is low (0.05%) and SSVC lists no observed exploitation, indicating limited real-world weaponization to date.

RemediationAI

Vendor-released patch: @better-auth/oauth-provider 1.6.5, in which both create endpoints now invoke the clientPrivileges hook with action "create" before persisting a client - upgrade to 1.6.5 or later per GHSA-xr8f-h2gw-9xh6 (https://github.com/better-auth/better-auth/security/advisories/GHSA-xr8f-h2gw-9xh6). Note the 1.7.0 pre-release line (1.7.0-beta.0/1.7.0-beta.1) has no fixed release listed, so move off those betas onto a patched stable line. If you cannot upgrade immediately, block the /oauth2/create-client and /admin/oauth2/create-client routes at your reverse proxy or middleware for any user who should not register clients (trade-off: this also blocks legitimate self-service client registration and must be maintained in lockstep with your auth logic), and ensure the SERVER_ONLY /admin/oauth2/create-client endpoint is never reachable from end-user sessions since it exposes sensitive fields like skip_consent.

Affected VersionsENISA

better-auth 1.7.0-beta.0, ≤ 1.7.0-beta.1
better-auth 1.4.8-beta.7, < 1.6.5
oauth-provider 1.4.8-beta.7, < 1.6.5
oauth-provider 1.7.0-beta.0, ≤ 1.7.0-beta.1

Affected Packages

npm @better-auth/oauth-provider fix: 1.6.5
euvd better_auth_1_4_8_beta_7 fix: 1.6.5
euvd better_auth_1_7_0_beta_0 no fix
euvd oauth_provider_1_4_8_beta_7 fix: 1.6.5
euvd oauth_provider_1_7_0_beta_0 no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 5 packages in npm, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The affected component is Better Auth's OAuth 2.1 Provider plugin (npm package @better-auth/oauth-provider), a TypeScript authentication/authorization library. The clientPrivileges option is a policy hook intended to authorize dynamic client-registration operations (create, read, list, update, delete, rotate). This is a CWE-863 (Incorrect Authorization) flaw: the hook was correctly wired into every operation except create, so the create code path persisted new client records without ever consulting the authorization callback. CPE data covers cpe:2.3:a:better-auth:better-auth and cpe:2.3:a:better-auth:oauth-provider. The abused endpoints are the standard dynamic client registration routes; the admin variant (/admin/oauth2/create-client) is SERVER_ONLY by design and additionally governs sensitive fields such as skip_consent.

Know when Better Auth gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:L/SA:N
vuln.today AI 4.3 MEDIUM

Network-reachable create endpoint needs only a low-privilege authenticated session (PR:L, AC:L); impact is limited integrity via unauthorized client registration (I:L), with no confidentiality or availability loss.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
Low
Subsequent system: Availability
None

Lifecycle Timeline

4
Patch released
Apr 27, 2026 - 18:57 nvd
Patch available
Patch available
Apr 24, 2026 - 21:02 EUVD
CVSS changed
Apr 24, 2026 - 20:22 NVD
7.1 (HIGH)
CVE Published
Apr 24, 2026 - 19:23 nvd
HIGH 7.1

DescriptionCVE.org

Better Auth is an authentication and authorization library for TypeScript. Prior to 1.6.5, the clientPrivileges option documents a create action, but the OAuth client creation endpoints did not invoke the hook before persisting new clients. Deployments that configured clientPrivileges to restrict client registration were not actually restricted - any authenticated user could reach the create endpoints and register an OAuth client with attacker-chosen redirect URIs and metadata. This vulnerability is fixed in 1.6.5.

Executive ViewAI

Why It Matters

Better Auth's @better-auth/oauth-provider plugin (versions 1.4.8-beta.7 through 1.6.4 and 1.7.0-beta releases) contains an authorization bypass that allows authenticated users to register OAuth clients regardless of configured access controls. This undermines intended privilege restrictions and enables unauthorized third-party application integrations, risking credential theft and lateral movement.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.0%
Top 85% exploitable
Prevalence
Medium
popular TypeScript auth library, but only clientPrivileges-configured OAuth-provider deployments affected
Threat Intel
1
1 source
Exploit
POC
Public exploit code exists
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC Yes
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

56
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

CVE-2024-56734 HIGH POC
7.9 Dec 30

Better Auth is an authentication library for TypeScript. Rated high severity (CVSS 7.9), this vulnerability is remotely

CVE-2026-67330 CRITICAL
9.4 Aug 01

Privilege-escalating account takeover in the @better-auth/scim plugin (versions 1.4.0-beta.27 through 1.6.21 and 1.7.0-b

CVE-2026-67336 CRITICAL
9.4 Aug 01

Authentication bypass in Better Auth before 1.6.11 stems from insecure cryptographic defaults in the legacy oidcProvider

CVE-2025-71401 CRITICAL
9.3 Aug 02

Denial of service in Better Auth (npm) before 1.4.2 lets an unauthenticated remote attacker poison the router's base pat

CVE-2026-114607 CRITICAL
9.1 Oct 22

Unauthenticated OAuth state values can be redeemed as Magic Link tokens in Better Auth 1.4.0-beta.18 through 1.7.6, lett

CVE-2026-110864 CRITICAL
9.1 Oct 14

Authentication bypass in Better Auth's OAuth Proxy plugin (versions 1.5.0-beta.12 through 1.7.6) lets unauthenticated re

CVE-2025-71399 HIGH
8.8 Aug 02

Path normalization bypass in Better Auth before v1.4.5 allows unauthenticated remote attackers to circumvent `disabledPa

CVE-2026-67331 HIGH
8.7 Aug 01

Authorization bypass in @better-auth/scim versions 1.5.0 through 1.7.0-beta.3 allows any authenticated user to fully tak

CVE-2026-67327 HIGH
8.7 Aug 01

Pre-account hijacking in better-auth (npm) allows a remote attacker to gain persistent, password-based access to any vic

CVE-2026-67328 HIGH
8.6 Aug 01

Multiple authentication bypass vulnerabilities in @better-auth/sso before version 1.6.21 enable low-privileged attackers

CVE-2026-80192 HIGH
8.6 Aug 25

Two domain-ownership authentication bypass flaws in @better-auth/sso allow authenticated organization owners to compromi

CVE-2026-109346 HIGH
8.5 Oct 12

Better Auth versions 1.3.8-beta.3 to before 1.7.0-rc.3 with the deviceAuthorization plugin enabled are vulnerable to a U

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy