Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify Better Auth deployment without proxy URL normalization
-
DeliveryCraft HTTP request with double-slash prefix on restricted path
-
ExploitSubmit request bypassing disabledPaths policy check
-
ExecutionAccess blocked endpoint or send unbounded auth requests without rate limiting
-
ImpactAchieve 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, |
| 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 |
| Exploit ScenarioDerived | An attacker targeting a Better Auth deployment that has disabled the |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
Affected Packages
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
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
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.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
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
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.
Apply vendor patch.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
More in Better Auth
View allBetter Auth is an authentication library for TypeScript. Rated high severity (CVSS 7.9), this vulnerability is remotely
Authorization bypass in the @better-auth/oauth-provider plugin for Better Auth (versions >= 1.4.8-beta.7 and < 1.6.5, pl
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
Authentication bypass in Better Auth before 1.6.11 stems from insecure cryptographic defaults in the legacy oidcProvider
Denial of service in Better Auth (npm) before 1.4.2 lets an unauthenticated remote attacker poison the router's base pat
Unauthenticated OAuth state values can be redeemed as Magic Link tokens in Better Auth 1.4.0-beta.18 through 1.7.6, lett
Authentication bypass in Better Auth's OAuth Proxy plugin (versions 1.5.0-beta.12 through 1.7.6) lets unauthenticated re
Authorization bypass in @better-auth/scim versions 1.5.0 through 1.7.0-beta.3 allows any authenticated user to fully tak
Pre-account hijacking in better-auth (npm) allows a remote attacker to gain persistent, password-based access to any vic
Multiple authentication bypass vulnerabilities in @better-auth/sso before version 1.6.21 enable low-privileged attackers
Two domain-ownership authentication bypass flaws in @better-auth/sso allow authenticated organization owners to compromi
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
EUVD-2025-210590
GHSA-9fq7-6g6p-g9rm
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB