Skip to main content

Better Auth CVE-2025-71399

| EUVDEUVD-2025-210590 HIGH
Improper Input Validation (CWE-20)
2026-08-02 VulnCheck GHSA-9fq7-6g6p-g9rm
8.8
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Identify Better Auth deployment without proxy URL normalization
  2. Delivery
    Craft HTTP request with double-slash prefix on restricted path
  3. Exploit
    Submit request bypassing disabledPaths policy check
  4. Execution
    Access blocked endpoint or send unbounded auth requests without rate limiting
  5. Impact
    Achieve unauthorized endpoint access or availability degradation

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
Exploitation Conditions

Exploitation requires two concurrent conditions: (1) the target runs Better Auth prior to v1.4.5, and (2) the deployment does NOT normalize incoming URLs at the proxy or platform layer before they reach the Better Auth handler - specifically, //path must arrive at Better Auth as //path rather than /path. The bypass is limited to security controls implemented via disabledPaths configuration or path-based rate limiting; other authentication or authorization mechanisms are unaffected. Deployments on Vercel with Next.js (default URL normalization) or Cloudflare with 'Normalize URLs to origin' enabled are not exploitable. No authentication, account, or special role is required by the attacker.

Impact

The CVSS 4.0 score of 8.8 with AV:N/AC:L/AT:N/PR:N/UI:N reflects the trivial exploitability: any unauthenticated remote attacker with HTTP access can trigger the bypass without special tools or prerequisites. The VA:H metric captures the most severe impact - bypassing rate limits enables unbounded request flooding against authentication endpoints, potentially causing service exhaustion. VC:L and VI:L reflect that access to disabledPaths may expose sensitive endpoints, but the actual data or integrity impact varies per deployment's specific configuration. No EPSS score was provided in the input data. There is no CISA KEV listing and no confirmed POC, meaning this is assessed as not yet exploited at scale. A critical mitigating factor, noted explicitly in the advisory, is that many common deployment platforms (Vercel with Next.js, Cloudflare with URL normalization enabled) automatically collapse multiple slashes before requests reach Better Auth, rendering those environments unexploitable. Risk should therefore be treated as conditional on proxy configuration, not universally high.

Exploit ScenarioDerived

An attacker targeting a Better Auth deployment that has disabled the /sign-in/email endpoint via disabledPaths sends a POST request to //sign-in/email instead. Because the proxy does not normalize URLs, Better Auth receives the double-slash path, rou3 strips the empty segment for routing but the disabled-path check has already evaluated the raw path and found no match, so the request is routed to the handler normally. No special tools or credentials are needed - a plain HTTP client suffices.

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

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

Alert me

AnalysisAIv1 – Aug 02, 2026

Path normalization bypass in Better Auth before v1.4.5 allows unauthenticated remote attackers to circumvent disabledPaths security controls and path-based rate limits by submitting requests with extra leading slashes (e.g., //sign-in/email instead of /sign-in/email). The root cause is in the bundled rou3 router library, which collapses empty path segments before route matching, meaning security rules keyed on canonical paths never match the double-slash variants. No public exploit code has been identified at time of analysis, but the trivially low attack complexity makes exploitation straightforward on unprotected deployments.

RemediationAI

Upgrade to Better Auth v1.4.5 or later, which bundles the patched rou3 version; this is the primary and recommended fix per advisory GHSA-x732-6j76-qmhm. For teams unable to upgrade immediately, two compensating controls are available. First, configure the upstream proxy or CDN to normalize URLs before they reach the Better Auth handler - Cloudflare's 'Normalize URLs to origin' setting and Vercel/Next.js default behavior both accomplish this at no code cost; trade-off is dependence on infrastructure configuration remaining consistent. Second, inject a middleware shim before the Better Auth handler that rewrites the request URL, collapsing repeated slashes via url.pathname.replace(//+/g, '/') as shown in the advisory - trade-off is an added per-request string operation and the need to maintain custom middleware. Both workarounds address the symptom (non-canonical paths reaching the framework) rather than the root cause; upgrading remains the definitive fix. Patch commit reference: https://github.com/better-auth/better-auth/commit/f60b43fa648399534507c9ac7db36d705b8874c3.

Affected VersionsENISA

better-auth 0 <1.4.4

Affected Packages

npm better-auth fix: 1.4.4, 1.4.5

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in npm

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

Technical ContextAI · show details

Better Auth (cpe:2.3:a:better-auth:better-auth:*:*:*:*:*:*:*:*) is a TypeScript authentication framework for Node.js that delegates HTTP routing to better-call, which in turn uses the rou3 library. Affected versions of rou3 prior to the fix (rou3 ^0.5.1 as pinned by better-call) normalize URL paths by stripping empty segments - so //sign-in/email becomes /sign-in/email at the routing layer. Because this normalization occurs after security policy evaluation, any path rules - including disabledPaths and rate-limit middleware - that operate on the raw incoming path string never see the normalized form and fail to match, allowing the request to pass through. CWE-20 (Improper Input Validation) is the root cause class: the framework trusts that incoming path strings are canonical without enforcing that invariant at the policy-evaluation boundary.

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 (VulnCheck) PRIMARY 8.8 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:H/SC:N/SI:N/SA:N
vuln.today AI 8.6 HIGH

Network-accessible, zero-privilege, no interaction required; availability impact is high due to rate-limit bypass enabling DoS; confidentiality and integrity both low reflecting conditional access to disabled paths.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

DescriptionCVE.org

Better Auth relies on better-call, which uses the rou3 router library. In affected versions of rou3, paths are normalized by removing empty segments, so /path, //path, and ///path resolve to the same route. In Better Auth versions prior to 1.4.5 (which bundles the fixed rou3), this can allow attackers to bypass disabledPaths configuration and path-based rate limits by submitting requests with extra slashes in the URL path. The issue does not apply in deployments where the proxy or platform normalizes URLs by collapsing multiple slashes.

Executive ViewAI

Why It Matters

Better Auth versions before v1.4.5 contain a flaw that allows unauthenticated attackers to circumvent security protections and rate limits on sensitive endpoints. Organizations using this library are at risk of unauthorized access to authentication flows and potential abuse at scale.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 77% exploitable
Prevalence
Low
newer TypeScript auth library, limited enterprise footprint
Social Media
9
Sightings
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL 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 No
EPSS 0.3%
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
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
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-41427 HIGH POC
7.1 Apr 24

Authorization bypass in the @better-auth/oauth-provider plugin for Better Auth (versions >= 1.4.8-beta.7 and < 1.6.5, pl

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-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