Vulnerability in better-auth (CVE-2025-71399)
Summary
Vulnerability in better-auth (CVE-2025-71399). Risk of unauthorized operations or information disclosure. Exploitable via disabledPaths. Mitigation: upgrade to 1.4.5 or later.
Original description
The description as published by the source.
Summary
An issue in the underlying router library rou3 can cause /path and //path to be treated as identical routes. If your environment does not normalize incoming URLs (e.g., by collapsing multiple slashes), this can allow bypasses of disabledPaths and path-based rate limits.
Details
Better Auth uses better-call, which internally relies on rou3 for routing. Affected versions of rou3 normalize paths by removing empty segments. As a result:
/sign-in/email//sign-in/email///sign-in/email
…all resolve to the same route.
Some production setups automatically collapse multiple slashes. This includes:
- Vercel with Nextjs (default)
- Cloudflare - when normalize to urls origin is enabled (https://developers.cloudflare.com/rules/normalization/settings/#normalize-urls-to-origin)
In these environments and other configurations where //path reach Better Auth as /path, the issue does not apply.
Fix
Updating rou3 to the latest version resolves the issue:
- better-call previously depended on
"rou3": "^0.5.1" - The fix was introduced after that version
(commit: https://github.com/h3js/rou3/commit/f60b43fa648399534507c9ac7db36d705b8874c3)
Better Auth recommends:
- Upgrading to Better Auth v1.4.5 or later, which includes the updated rou3.
- Ensuring the proxy normalizes URLs.
- If project maintainers cannot upgrade yet, they can protect their…
Source: NIST National Vulnerability Database NVD GitHub Advisory
Auto-generated summary
Assembled by SecPulse from the source data (CVSS, CWE, affected versions) using templates — no AI involved. Check the original description and references below for exact details.
A vulnerability tracked as CVE-2025-71399 has been found in better-auth.
Attackers can target a specific entry point like disabledPaths over the network to misuse the product.
Risk of unauthorized operations or information disclosure. CVSS score: 8.6/10.
What to do: upgrade better-auth to 1.4.5 or later.
If unsure, ask your IT team or search "better-auth CVE-2025-71399" on the vendor's site.
CVE-2025-71399 (better-auth) — CWE-20 / CVSS v3 8.6
Attack vector: remote (network-reachable) / unauthenticated / no user interaction
Attack surface: disabledPaths
Patched: 1.4.5 — apply immediately
Plan: 1) Audit SBOM/dependencies, 2) Stage→prod upgrade, 3) Add WAF/proxy monitoring on affected endpoints, 4) Hunt IOCs in logs.
Refs: see the GHSA / vendor advisory / patched release linked on this page.
A vulnerability (CWE-20) exists in better-auth. Attackers reach the vulnerable code path via disabledPaths without authentication.
Check the vendor advisory for the affected versions of better-auth. Attack surface: disabledPaths.
Severity: High (CVSS 8.6/10). Risk of unauthorized operations or information disclosure.
Update to 1.4.5.
Until the patch is applied: disable the affected feature, apply WAF rules, or restrict access via network ACLs.
Search webserver/proxy logs for unusual request patterns matching this CVE's known IOCs. Run grep -r 'better-auth' . against your dependency files (package-lock.json, requirements.txt, go.sum) to find affected services.
Response actions
Concrete steps and command examples for SOC/SRE teams to execute in order
-
1Identify exposure identify
grep -r 'better-auth' . | grep -v node_modulesリポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で
better-authを grep し、稼働しているサービス・バージョンを把握する。 -
2Apply patch patch
Upgrade better-auth to 1.4.5ステージング環境で 1.4.5 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスを含めること。
-
3Post-deployment verification verify
Confirm patched version is live in productionパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。
Affected packages
References
- package github.com
- web disclosure@vulncheck.com
- web disclosure@vulncheck.com
- web disclosure@vulncheck.com
- web nvd.nist.gov
- web github.com