Skip to content
Heist/ feed
Back to feed
High

Better Auth has an Open Redirect Vulnerability in Verify Email Endpoint

Type: advisorySources: OSV

Better Auth is an authentication library for TypeScript. An open redirect vulnerability has been identified in the verify email endpoint of all versions of Better Auth prior to v1.1.6, potentially allowing attackers to redirect users to malicious websites. This issue affects users relying on email verification links generated by the library. The verify email callback endpoint accepts a `callbackURL` parameter. Unlike other verification methods, email verification only uses JWT to verify and redirect without proper validation of the target domain. The origin checker is bypassed in this scenario because it only checks for `POST` requests. An attacker can manipulate this parameter to redirect users to arbitrary URLs controlled by the attacker. Version 1.1.6 contains a patch for the issue.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2024-56734
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 08:15 UTC · Revision 1

Source evidence

Better Auth has an Open Redirect Vulnerability in Verify Email Endpoint

core-osv · Original source

Published 30 Dec 2024, 16:48 UTC

Better Auth is an authentication library for TypeScript. An open redirect vulnerability has been identified in the verify email endpoint of all versions of Better Auth prior to v1.1.6, potentially allowing attackers to redirect users to malicious websites. This issue affects users relying on email verification links generated by the library. The verify email callback endpoint accepts a `callbackURL` parameter. Unlike other verification methods, email verification only uses JWT to verify and redirect without proper validation of the target domain. The origin checker is bypassed in this scenario because it only checks for `POST` requests. An attacker can manipulate this parameter to redirect users to arbitrary URLs controlled by the attacker. Version 1.1.6 contains a patch for the issue.

osv:CVE-2024-56734
Complete source record
{
  "id": "7a13ae2ab8ec9ab319a8684f2a920a870101761634117ca0b42c40cb2d17a25e",
  "url": "https://osv.dev/vulnerability/CVE-2024-56734",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Better Auth has an Open Redirect Vulnerability in Verify Email Endpoint",
    "summary": "Better Auth is an authentication library for TypeScript. An open redirect vulnerability has been identified in the verify email endpoint of all versions of Better Auth prior to v1.1.6, potentially allowing attackers to redirect users to malicious websites. This issue affects users relying on email verification links generated by the library. The verify email callback endpoint accepts a `callbackURL` parameter. Unlike other verification methods, email verification only uses JWT to verify and redirect without proper validation of the target domain. The origin checker is bypassed in this scenario because it only checks for `POST` requests. An attacker can manipulate this parameter to redirect users to arbitrary URLs controlled by the attacker. Version 1.1.6 contains a patch for the issue.",
    "evidence": "osv:CVE-2024-56734",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2024-56734",
      "aliases": [
        "CVE-2024-56734",
        "GHSA-8jhw-6pjj-8723"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/better-auth/better-auth",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "e7a03bdc0efdf27ba3cd51c2716a3f78d3c0e996"
                },
                {
                  "fixed": "deb3d73aea90d0468d92723f4511542b593e522f"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:better-auth:better_auth:*:*:*:*:*:node.js:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "1.1.6"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "range": [
                      {
                        "fixed": "deb3d73aea90d0468d92723f4511542b593e522f"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v1.1.5",
            "v1.1.4",
            "v1.1.4-beta.2",
            "v1.1.4-beta.1",
            "v1.1.3",
            "v1.1.3-beta.6",
            "v1.1.2",
            "v1.1.2-beta.4",
            "v1.1.2-beta.3",
            "v1.1.2-beta.2",
            "v1.1.2-beta.1",
            "v1.1.1",
            "v1.1.0",
            "v1.0.23-beta.6",
            "v1.0.23-beta.2",
            "v1.0.22",
            "v1.0.22-beta.4",
            "v1.0.22-beta.3",
            "v1.0.22-beta.2",
            "v1.0.22-beta.1",
            "v1.0.21",
            "v1.0.20",
            "v1.0.19",
            "v1.0.18",
            "v1.0.17",
            "v1.0.16",
            "v1.0.16-beta.2",
            "v1.0.16-beta.1",
            "v1.0.15",
            "v1.0.14",
            "v1.0.13",
            "v1.0.12",
            "v1.0.12-beta.3",
            "v1.0.12-beta.2",
            "v1.0.12-beta.1",
            "v1.0.11",
            "v1.0.11-beta.8",
            "v1.0.11-beta.7",
            "v1.0.11-beta.6",
            "v1.0.11-beta.5",
            "v1.0.11-beta.4",
            "v1.0.11-beta.2",
            "v1.0.10",
            "v1.0.10-beta.3",
            "v1.0.10-beta.2",
            "v1.0.10-beta.1",
            "v1.0.9",
            "v1.0.9-beta.7",
            "v1.0.9-beta.6",
            "v1.0.9-beta.5",
            "v1.0.9-beta.3",
            "v1.0.9-beta.1",
            "v1.0.8",
            "v1.0.8-beta.4",
            "v1.0.8-beta.2",
            "v1.0.8-beta.1",
            "v1.0.7",
            "v1.0.6",
            "v1.0.5",
            "v1.0.4",
            "v1.0.3",
            "v1.0.2",
            "v0.8.9-beta.2",
            "v0.8.8",
            "v0.8.8-beta.2",
            "v0.8.8-beta.1",
            "v0.8.7-beta.5",
            "v0.8.7-beta.3",
            "v0.8.7-beta.2",
            "v0.8.7-beta.1",
            "v0.8.6-beta.6",
            "v0.8.6-beta.3",
            "v0.8.6-beta.2",
            "v0.8.6-beta.1",
            "v0.8.5",
            "v0.8.5-beta.3",
            "v0.8.5-beta.2",
            "v0.8.5-beta.1",
            "v0.8.4",
            "v0.8.4-beta.7",
            "v0.8.4-beta.6",
            "v0.8.4-beta.5",
            "v0.8.4-beta.4",
            "v0.8.3-beta.6",
            "v0.8.3-beta.5",
            "v0.8.3-beta.4",
            "v0.8.3-beta.3",
            "v0.8.2",
            "v0.8.2-beta.3",
            "v0.8.2-beta.1",
            "v0.8.1",
            "v0.8.1-beta.5",
            "v0.8.1-beta.4",
            "v0.8.1-beta.3",
            "v0.8.1-beta.2",
            "v0.8.1-beta.1",
            "v0.8.0",
            "v0.7.6-beta.4",
            "v0.7.6-beta.3",
            "v0.7.6-beta.2",
            "v0.7.6-beta.1",
            "v0.7.5",
            "v0.7.5-beta.9",
            "v0.7.5-beta.8",
            "v0.7.5-beta.7",
            "v0.7.5-beta.6",
            "v0.7.5-beta.5",
            "v0.7.5-beta.4",
            "v0.7.5-beta.3",
            "v0.7.5-beta.2",
            "v0.7.5-beta.1",
            "v0.7.4",
            "v0.7.3",
            "v0.7.3-beta.11",
            "v0.7.3-beta.9",
            "v0.7.3-beta.8",
            "v0.7.3-beta.7",
            "v0.7.3-beta.6",
            "v0.7.3-beta.5",
            "v0.7.3-beta.4",
            "v0.7.3-beta.3",
            "v0.7.3-beta.2",
            "v0.7.3-beta.1",
            "v0.7.2",
            "v0.7.2-beta.5",
            "v0.7.2-beta.4",
            "v0.7.1",
            "v0.7.1-beta.6",
            "v0.7.1-beta.4",
            "v0.7.1-beta.3",
            "v0.7.1-beta.1",
            "v0.7.0",
            "v0.7.0-beta.1",
            "v0.6.3-beta.5",
            "v0.6.2",
            "v0.6.2-beta.8",
            "v0.6.1",
            "v0.6.1-beta.9",
            "v0.6.1-beta.7",
            "v0.6.1-beta.5",
            "v0.6.1-beta.4",
            "v0.6.1-beta.3",
            "v0.6.1-beta.2",
            "v0.6.1-beta.1",
            "v0.6.0",
            "v0.6.0-beta.1",
            "v0.5.4-beta.6",
            "v0.5.4-beta.5",
            "v0.5.4-beta.4",
            "v0.5.4-beta.3",
            "v0.5.3",
            "v0.5.3-beta.17",
            "v0.5.3-beta.16",
            "v0.5.3-beta.15",
            "v0.5.3-beta.13",
            "v0.5.3-beta.11",
            "v0.5.3-beta.9",
            "v0.5.3-beta.8",
            "v0.5.3-beta.7",
            "v0.5.3-beta.6",
            "v0.5.3-beta.5",
            "v0.5.3-beta.4",
            "v0.5.3-beta.3",
            "v0.5.3-beta.2",
            "v0.5.3-beta.1",
            "v0.5.2-beta.20",
            "v0.5.2-beta.18",
            "v0.5.2-beta.17",
            "v0.5.2-beta.16",
            "v0.5.2-beta.14",
            "v0.5.2-beta.13",
            "v0.5.2-beta.12",
            "v0.5.2-beta.11",
            "v0.5.2-beta.10",
            "v0.5.2-beta.9",
            "v0.5.2-beta.8",
            "v0.5.2-beta.7",
            "v0.5.2-beta.6",
            "v0.5.2-beta.5",
            "v0.5.2-beta.2",
            "v0.5.1",
            "v0.5.1-beta.6",
            "v0.5.1-beta.5",
            "v0.5.1-beta.4",
            "v0.5.1-beta.3",
            "v0.5.1-beta.2",
            "v0.5.1-beta.1",
            "v0.5.0",
            "v0.4.14-beta.2",
            "v0.4.14-beta.1",
            "v0.4.13",
            "v0.4.12",
            "v0.4.12-beta.7",
            "v0.4.12-beta.5",
            "v0.4.12-beta.4",
            "v0.4.12-beta.3",
            "v0.4.12-beta.2",
            "v0.4.12-beta.1",
            "v0.4.11",
            "v0.4.11-beta.3",
            "v0.4.11-beta.2",
            "v0.4.11-beta.1",
            "v0.4.10",
            "v0.4.10-beta.5",
            "v0.4.10-beta.4",
            "v0.4.9-beta.11",
            "v0.4.9-beta.7",
            "v0.4.9-beta.10",
            "v0.4.9-beta.9",
            "v0.4.9-beta.8",
            "v0.4.9-beta.6",
            "v0.4.9-beta.5",
            "v0.4.9-beta.4",
            "v0.4.9-beta.3",
            "v0.4.9-beta.2",
            "v0.4.9-beta.1",
            "v0.4.8",
            "v0.4.7",
            "v0.4.7-beta.2",
            "v0.4.7-beta.1",
            "v0.4.5",
            "v0.4.4",
            "v0.4.4-beta.1",
            "v0.4.3",
            "v0.4.3-beta.1",
            "v0.4.2",
            "v0.4.1",
            "v0.4.0",
            "v0.3.6",
            "v0.3.5",
            "v0.3.5-beta.8",
            "v0.3.5-beta.7",
            "v0.3.5-beta.6",
            "v0.3.5-beta.5",
            "v0.3.5-beta.4",
            "v0.3.5-beta.2",
            "v0.3.5-beta.1",
            "v0.3.4",
            "v0.3.4-beta.6",
            "v0.3.4-beta.2",
            "v0.3.4-beta.1",
            "v0.3.3",
            "v0.3.3-beta.12",
            "v0.3.3-beta.11",
            "v0.3.3-beta.10",
            "v0.3.3-beta.9",
            "v0.3.3-beta.8",
            "v0.3.3-beta.5",
            "v0.3.3-beta.4",
            "v0.3.3-beta.3",
            "v0.3.3-beta.2",
            "v0.3.3-beta.1",
            "v0.3.2",
            "v0.3.0",
            "v0.2.11",
            "v0.2.10",
            "v0.2.9",
            "v0.2.9-beta.9",
            "v0.2.9-beta.8",
            "v0.2.9-beta.7",
            "v0.2.9-beta.6",
            "v0.2.9-beta.5",
            "v0.2.9-beta.4",
            "v0.2.9-beta.2",
            "v0.2.9-beta.1",
            "v0.2.8",
            "v0.2.8-beta.13",
            "v0.2.8-beta.12",
            "v0.2.8-beta.11",
            "v0.2.8-beta.10",
            "v0.2.8-beta.9",
            "v0.2.8-beta.8",
            "v0.2.8-beta.1",
            "v0.2.6",
            "v0.2.6-beta.10",
            "v0.2.6-beta.9",
            "v0.2.6-beta.8",
            "v0.2.6-beta.7",
            "v0.2.6-beta.6",
            "v0.2.6-beta.5",
            "v0.2.6-beta.4",
            "v0.2.6-beta.3",
            "v0.2.6-beta.1",
            "v0.2.5",
            "v0.2.5-beta.4",
            "v0.2.5-beta.3",
            "v0.2.5-beta.1",
            "v0.2.3",
            "v0.2.2",
            "v0.2.1",
            "v0.2.1-beta.1",
            "v0.1.1-beta.6",
            "v0.1.1-beta.5",
            "v0.1.1-beta.4",
            "v0.1.1-beta.2",
            "v0.1.1-beta.1",
            "v0.1.0",
            "v0.0.10-beta.27",
            "v0.0.10-beta.26",
            "v0.0.10-beta.25",
            "v0.0.10-beta.24",
            "v0.0.10-beta.23",
            "v0.0.10-beta.22",
            "v0.0.10-beta.21",
            "v0.0.10-beta.20",
            "v0.0.10-beta.19",
            "v0.0.10-beta.18",
            "v0.0.10-beta.17",
            "v0.0.10-beta.16",
            "v0.0.10-beta.15",
            "v0.0.10-beta.14",
            "v0.0.10-beta.13",
            "v0.0.10-beta.12",
            "v0.0.10-beta.11",
            "v0.0.10-beta.10",
            "v0.0.10-beta.9",
            "v0.0.10-beta.8",
            "v0.0.10-beta.7",
            "v0.0.10-beta.6",
            "v0.0.10-beta.5",
            "v0.0.10-beta.4",
            "v0.0.10-beta.3",
            "v0.0.10-beta.2",
            "v0.0.10-beta.1",
            "v0.0.9",
            "v0.0.9-beta.38",
            "v0.0.9-beta.37",
            "v0.0.9-beta.36",
            "v0.0.9-beta.35",
            "v0.0.9-beta.34",
            "v0.0.9-beta.33",
            "v0.0.9-beta.32",
            "v0.0.9-beta.31",
            "v0.0.9-beta.30",
            "v0.0.9-beta.29",
            "v0.0.9-beta.28",
            "v0.0.9-beta.27",
            "v0.0.9-beta.26",
            "v0.0.9-beta.25",
            "v0.0.9-beta.24",
            "v0.0.9-beta.23",
            "v0.0.9-beta.22",
            "v0.0.9-beta.21",
            "v0.0.9-beta.20",
            "v0.0.9-beta.19",
            "v0.0.9-beta.18",
            "v0.0.9-beta.17",
            "v0.0.9-beta.16",
            "v0.0.9-beta.15",
            "v0.0.9-beta.14",
            "v0.0.9-beta.13",
            "v0.0.9-beta.12",
            "v0.0.9-beta.11",
            "v0.0.9-beta.10",
            "v0.0.9-beta.9",
            "v0.0.9-beta.8",
            "v0.0.9-beta.7",
            "v0.0.9-beta.6",
            "v0.0.9-beta.5",
            "v0.0.9-beta.4",
            "v0.0.9-beta.3",
            "v0.0.9-beta.2",
            "v0.0.9-beta.1",
            "v0.0.8",
            "v0.0.8-beta.29",
            "v0.0.8-beta.28",
            "v0.0.8-beta.27",
            "v0.0.8-beta.26",
            "v0.0.8-beta.25",
            "v0.0.8-beta.8",
            "v0.0.8-beta.24",
            "v0.0.8-beta.23",
            "v0.0.8-beta.22",
            "v0.0.8-beta.21",
            "v0.0.8-beta.20",
            "v0.0.8-beta.19",
            "v0.0.8-beta.18",
            "v0.0.8-beta.17",
            "v0.0.8-beta.16",
            "v0.0.8-beta.15",
            "v0.0.8-beta.14",
            "v0.0.8-beta.13",
            "v0.0.8-beta.12",
            "v0.0.8-beta.11",
            "v0.0.8-beta.10",
            "v0.0.8-beta.9",
            "v0.0.8-beta.7",
            "v0.0.8-beta.6",
            "v0.0.8-beta.5",
            "v0.0.8-beta.4",
            "v0.0.8-beta.3",
            "v0.0.8-beta.2",
            "v0.0.8-beta.1",
            "v0.0.7",
            "v0.0.6",
            "v0.0.5",
            "v0.0.4",
            "v0.0.3",
            "v0.0.2"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-56734.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:27.263007503Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/56xxx/CVE-2024-56734.json",
        "https://github.com/better-auth/better-auth/security/advisories/GHSA-8jhw-6pjj-8723",
        "https://nvd.nist.gov/vuln/detail/CVE-2024-56734",
        "https://github.com/better-auth/better-auth/commit/deb3d73aea90d0468d92723f4511542b593e522f"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-601"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/56xxx/CVE-2024-56734.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2024-56734",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 493702,
  "published_at": "2024-12-30T16:48:58.184+00:00"
}