CVE-2025-27143

Source
https://nvd.nist.gov/vuln/detail/CVE-2025-27143
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2025-27143.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2025-27143
Aliases
Related
Published
2025-02-24T23:15:11Z
Modified
2025-05-24T03:39:59.213032Z
Severity
  • 6.1 (Medium) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N CVSS Calculator
Summary
[none]
Details

Better Auth is an authentication and authorization library for TypeScript. Prior to version 1.1.21, the application is vulnerable to an open redirect due to improper validation of the callbackURL parameter in the email verification endpoint and any other endpoint that accepts callback url. While the server blocks fully qualified URLs, it incorrectly allows scheme-less URLs. This results in the browser interpreting the URL as a fully qualified URL, leading to unintended redirection. An attacker can exploit this flaw by crafting a malicious verification link and tricking users into clicking it. Upon successful email verification, the user will be automatically redirected to the attacker's website, which can be used for phishing, malware distribution, or stealing sensitive authentication tokens. This CVE is a bypass of the fix for GHSA-8jhw-6pjj-8723/CVE-2024-56734. Version 1.1.21 contains an updated patch.

References

Affected packages

Git / github.com/better-auth/better-auth

Affected ranges

Type
GIT
Repo
https://github.com/better-auth/better-auth
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Fixed
Fixed

Affected versions

v0.*

v0.0.10-beta.1
v0.0.10-beta.10
v0.0.10-beta.11
v0.0.10-beta.12
v0.0.10-beta.13
v0.0.10-beta.14
v0.0.10-beta.15
v0.0.10-beta.16
v0.0.10-beta.17
v0.0.10-beta.18
v0.0.10-beta.19
v0.0.10-beta.2
v0.0.10-beta.20
v0.0.10-beta.21
v0.0.10-beta.22
v0.0.10-beta.23
v0.0.10-beta.24
v0.0.10-beta.25
v0.0.10-beta.26
v0.0.10-beta.27
v0.0.10-beta.3
v0.0.10-beta.4
v0.0.10-beta.5
v0.0.10-beta.6
v0.0.10-beta.7
v0.0.10-beta.8
v0.0.10-beta.9
v0.0.2
v0.0.3
v0.0.4
v0.0.5
v0.0.6
v0.0.7
v0.0.8
v0.0.8-beta.1
v0.0.8-beta.10
v0.0.8-beta.11
v0.0.8-beta.12
v0.0.8-beta.13
v0.0.8-beta.14
v0.0.8-beta.15
v0.0.8-beta.16
v0.0.8-beta.17
v0.0.8-beta.18
v0.0.8-beta.19
v0.0.8-beta.2
v0.0.8-beta.20
v0.0.8-beta.21
v0.0.8-beta.22
v0.0.8-beta.23
v0.0.8-beta.24
v0.0.8-beta.25
v0.0.8-beta.26
v0.0.8-beta.27
v0.0.8-beta.28
v0.0.8-beta.29
v0.0.8-beta.3
v0.0.8-beta.4
v0.0.8-beta.5
v0.0.8-beta.6
v0.0.8-beta.7
v0.0.8-beta.8
v0.0.8-beta.9
v0.0.9
v0.0.9-beta.1
v0.0.9-beta.10
v0.0.9-beta.11
v0.0.9-beta.12
v0.0.9-beta.13
v0.0.9-beta.14
v0.0.9-beta.15
v0.0.9-beta.16
v0.0.9-beta.17
v0.0.9-beta.18
v0.0.9-beta.19
v0.0.9-beta.2
v0.0.9-beta.20
v0.0.9-beta.21
v0.0.9-beta.22
v0.0.9-beta.23
v0.0.9-beta.24
v0.0.9-beta.25
v0.0.9-beta.26
v0.0.9-beta.27
v0.0.9-beta.28
v0.0.9-beta.29
v0.0.9-beta.3
v0.0.9-beta.30
v0.0.9-beta.31
v0.0.9-beta.32
v0.0.9-beta.33
v0.0.9-beta.34
v0.0.9-beta.35
v0.0.9-beta.36
v0.0.9-beta.37
v0.0.9-beta.38
v0.0.9-beta.4
v0.0.9-beta.5
v0.0.9-beta.6
v0.0.9-beta.7
v0.0.9-beta.8
v0.0.9-beta.9
v0.1.0
v0.1.1-beta.1
v0.1.1-beta.2
v0.1.1-beta.4
v0.1.1-beta.5
v0.1.1-beta.6
v0.2.1
v0.2.1-beta.1
v0.2.10
v0.2.11
v0.2.2
v0.2.3
v0.2.5
v0.2.5-beta.1
v0.2.5-beta.3
v0.2.5-beta.4
v0.2.6
v0.2.6-beta.1
v0.2.6-beta.10
v0.2.6-beta.3
v0.2.6-beta.4
v0.2.6-beta.5
v0.2.6-beta.6
v0.2.6-beta.7
v0.2.6-beta.8
v0.2.6-beta.9
v0.2.8
v0.2.8-beta.1
v0.2.8-beta.10
v0.2.8-beta.11
v0.2.8-beta.12
v0.2.8-beta.13
v0.2.8-beta.8
v0.2.8-beta.9
v0.2.9
v0.2.9-beta.1
v0.2.9-beta.2
v0.2.9-beta.4
v0.2.9-beta.5
v0.2.9-beta.6
v0.2.9-beta.7
v0.2.9-beta.8
v0.2.9-beta.9
v0.3.0
v0.3.2
v0.3.3
v0.3.3-beta.1
v0.3.3-beta.10
v0.3.3-beta.11
v0.3.3-beta.12
v0.3.3-beta.2
v0.3.3-beta.3
v0.3.3-beta.4
v0.3.3-beta.5
v0.3.3-beta.8
v0.3.3-beta.9
v0.3.4
v0.3.4-beta.1
v0.3.4-beta.2
v0.3.4-beta.6
v0.3.5
v0.3.5-beta.1
v0.3.5-beta.2
v0.3.5-beta.4
v0.3.5-beta.5
v0.3.5-beta.6
v0.3.5-beta.7
v0.3.5-beta.8
v0.3.6
v0.4.0
v0.4.1
v0.4.10
v0.4.10-beta.4
v0.4.10-beta.5
v0.4.11
v0.4.11-beta.1
v0.4.11-beta.2
v0.4.11-beta.3
v0.4.12
v0.4.12-beta.1
v0.4.12-beta.2
v0.4.12-beta.3
v0.4.12-beta.4
v0.4.12-beta.5
v0.4.12-beta.7
v0.4.13
v0.4.14-beta.1
v0.4.14-beta.2
v0.4.2
v0.4.3
v0.4.3-beta.1
v0.4.4
v0.4.4-beta.1
v0.4.5
v0.4.7
v0.4.7-beta.1
v0.4.7-beta.2
v0.4.8
v0.4.9-beta.1
v0.4.9-beta.10
v0.4.9-beta.11
v0.4.9-beta.2
v0.4.9-beta.3
v0.4.9-beta.4
v0.4.9-beta.5
v0.4.9-beta.6
v0.4.9-beta.7
v0.4.9-beta.8
v0.4.9-beta.9
v0.5.0
v0.5.1
v0.5.1-beta.1
v0.5.1-beta.2
v0.5.1-beta.3
v0.5.1-beta.4
v0.5.1-beta.5
v0.5.1-beta.6
v0.5.2-beta.10
v0.5.2-beta.11
v0.5.2-beta.12
v0.5.2-beta.13
v0.5.2-beta.14
v0.5.2-beta.16
v0.5.2-beta.17
v0.5.2-beta.18
v0.5.2-beta.2
v0.5.2-beta.20
v0.5.2-beta.5
v0.5.2-beta.6
v0.5.2-beta.7
v0.5.2-beta.8
v0.5.2-beta.9
v0.5.3
v0.5.3-beta.1
v0.5.3-beta.11
v0.5.3-beta.13
v0.5.3-beta.15
v0.5.3-beta.16
v0.5.3-beta.17
v0.5.3-beta.2
v0.5.3-beta.3
v0.5.3-beta.4
v0.5.3-beta.5
v0.5.3-beta.6
v0.5.3-beta.7
v0.5.3-beta.8
v0.5.3-beta.9
v0.5.4-beta.3
v0.5.4-beta.4
v0.5.4-beta.5
v0.5.4-beta.6
v0.6.0
v0.6.0-beta.1
v0.6.1
v0.6.1-beta.1
v0.6.1-beta.2
v0.6.1-beta.3
v0.6.1-beta.4
v0.6.1-beta.5
v0.6.1-beta.7
v0.6.1-beta.9
v0.6.2
v0.6.2-beta.8
v0.6.3-beta.5
v0.7.0
v0.7.0-beta.1
v0.7.1
v0.7.1-beta.1
v0.7.1-beta.3
v0.7.1-beta.4
v0.7.1-beta.6
v0.7.2
v0.7.2-beta.4
v0.7.2-beta.5
v0.7.3
v0.7.3-beta.1
v0.7.3-beta.11
v0.7.3-beta.2
v0.7.3-beta.3
v0.7.3-beta.4
v0.7.3-beta.5
v0.7.3-beta.6
v0.7.3-beta.7
v0.7.3-beta.8
v0.7.3-beta.9
v0.7.4
v0.7.5
v0.7.5-beta.1
v0.7.5-beta.2
v0.7.5-beta.3
v0.7.5-beta.4
v0.7.5-beta.5
v0.7.5-beta.6
v0.7.5-beta.7
v0.7.5-beta.8
v0.7.5-beta.9
v0.7.6-beta.1
v0.7.6-beta.2
v0.7.6-beta.3
v0.7.6-beta.4
v0.8.0
v0.8.1
v0.8.1-beta.1
v0.8.1-beta.2
v0.8.1-beta.3
v0.8.1-beta.4
v0.8.1-beta.5
v0.8.2
v0.8.2-beta.1
v0.8.2-beta.3
v0.8.3-beta.3
v0.8.3-beta.4
v0.8.3-beta.5
v0.8.3-beta.6
v0.8.4
v0.8.4-beta.4
v0.8.4-beta.5
v0.8.4-beta.6
v0.8.4-beta.7
v0.8.5
v0.8.5-beta.1
v0.8.5-beta.2
v0.8.5-beta.3
v0.8.6-beta.1
v0.8.6-beta.2
v0.8.6-beta.3
v0.8.6-beta.6
v0.8.7-beta.1
v0.8.7-beta.2
v0.8.7-beta.3
v0.8.7-beta.5
v0.8.7-canary.1
v0.8.7-canary.2
v0.8.8
v0.8.8-beta.1
v0.8.8-beta.2
v0.8.9-beta.2
v0.9.0-canary.1

v1.*

v1.0.0
v1.0.0-canary.1
v1.0.0-canary.10
v1.0.0-canary.11
v1.0.0-canary.12
v1.0.0-canary.13
v1.0.0-canary.14
v1.0.0-canary.2
v1.0.0-canary.3
v1.0.0-canary.4
v1.0.0-canary.5
v1.0.0-canary.6
v1.0.0-canary.8
v1.0.0-canary.9
v1.0.10
v1.0.10-beta.1
v1.0.10-beta.2
v1.0.10-beta.3
v1.0.11
v1.0.11-beta.2
v1.0.11-beta.4
v1.0.11-beta.5
v1.0.11-beta.6
v1.0.11-beta.7
v1.0.11-beta.8
v1.0.12
v1.0.12-beta.1
v1.0.12-beta.2
v1.0.12-beta.3
v1.0.13
v1.0.14
v1.0.15
v1.0.16
v1.0.16-beta.1
v1.0.16-beta.2
v1.0.17
v1.0.18
v1.0.19
v1.0.2
v1.0.20
v1.0.21
v1.0.22
v1.0.22-beta.1
v1.0.22-beta.2
v1.0.22-beta.3
v1.0.22-beta.4
v1.0.23-beta.2
v1.0.23-beta.6
v1.0.3
v1.0.4
v1.0.5
v1.0.6
v1.0.7
v1.0.8
v1.0.8-beta.1
v1.0.8-beta.2
v1.0.8-beta.4
v1.0.9
v1.0.9-beta.1
v1.0.9-beta.3
v1.0.9-beta.5
v1.0.9-beta.6
v1.0.9-beta.7
v1.1.0
v1.1.1
v1.1.10
v1.1.10-beta.1
v1.1.10-beta.2
v1.1.11
v1.1.11-beta.1
v1.1.12
v1.1.12-beta.2
v1.1.12-beta.3
v1.1.12-beta.4
v1.1.13
v1.1.13-beta.1
v1.1.13-beta.2
v1.1.13-beta.3
v1.1.14
v1.1.14-beta.1
v1.1.14-beta.2
v1.1.14-beta.3
v1.1.14-beta.4
v1.1.14-beta.5
v1.1.14-beta.6
v1.1.15
v1.1.15-beta.1
v1.1.15-beta.2
v1.1.15-beta.3
v1.1.15-beta.4
v1.1.15-beta.5
v1.1.15-beta.6
v1.1.15-beta.7
v1.1.16
v1.1.16-beta.10
v1.1.16-beta.3
v1.1.16-beta.4
v1.1.16-beta.7
v1.1.16-beta.8
v1.1.16-beta.9
v1.1.17
v1.1.17-beta.1
v1.1.17-beta.2
v1.1.17-beta.3
v1.1.17-beta.5
v1.1.18
v1.1.18-beta.1
v1.1.18-beta.2
v1.1.18-beta.3
v1.1.19
v1.1.19-beta.1
v1.1.19-beta.2
v1.1.19-beta.3
v1.1.2
v1.1.2-beta.1
v1.1.2-beta.2
v1.1.2-beta.3
v1.1.2-beta.4
v1.1.20-beta.1
v1.1.20-beta.2
v1.1.20-beta.3
v1.1.3
v1.1.3-beta.6
v1.1.4
v1.1.4-beta.1
v1.1.4-beta.2
v1.1.5
v1.1.6
v1.1.7
v1.1.8
v1.1.8-beta.1
v1.1.8-beta.2
v1.1.8-beta.3
v1.1.9
v1.1.9-beta.1