{
  "affected": [
    {
      "ranges": [
        {
          "database_specific": {
            "extracted_events": [
              {
                "introduced": "0"
              },
              {
                "fixed": "1.4.17"
              },
              {
                "introduced": "1.5.0-beta.1"
              },
              {
                "fixed": "1.5.0-beta.9"
              }
            ],
            "source": "AFFECTED_FIELD"
          },
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "bcbeeee23c138fbcb01e972b945bb2e5846dcc0a"
            },
            {
              "introduced": "41cb291b8cee8af854d50194d9bc5b56c5d90f1f"
            },
            {
              "fixed": "6295dfcd349e0d10a08c251a10d2b3cd7568ebaf"
            }
          ],
          "repo": "https://github.com/better-auth/better-auth",
          "type": "GIT"
        }
      ]
    }
  ],
  "aliases": [
    "GHSA-p6v2-xcpg-h6xw"
  ],
  "database_specific": {
    "cna_assigner": "GitHub_M",
    "cwe_ids": [
      "CWE-307"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/45xxx/CVE-2026-45364.json"
  },
  "details": "Better Auth is an authentication and authorization library for TypeScript. Prior to 1.4.17 and 1.5.0-beta.9, Better Auth's HTTP rate limiter keyed each request by the exact textual IP address it received in x-forwarded-for (or the configured IP-bearing header). IPv6 clients controlling a typical /64 allocation could rotate through 2^64 distinct source addresses without exhausting the per-address counter, defeating rate limiting on /sign-in/email, /sign-up/email, /forget-password, and every other path the limiter protects. The same bug allowed a single client to vary the textual encoding of one IPv6 address (uppercase, compression, IPv4-mapped, hex-encoded IPv4-in-IPv6) and produce multiple distinct keys. This vulnerability is fixed in 1.4.17 and 1.5.0-beta.9.",
  "id": "CVE-2026-45364",
  "modified": "2026-07-08T05:38:04.705978139Z",
  "published": "2026-05-28T21:34:51.446Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/45xxx/CVE-2026-45364.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/better-auth/better-auth/security/advisories/GHSA-p6v2-xcpg-h6xw"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-45364"
    },
    {
      "type": "FIX",
      "url": "https://github.com/better-auth/better-auth/commit/43e719bcc0c223c7079fa0c611a9cf7ea1188254"
    },
    {
      "type": "FIX",
      "url": "https://github.com/better-auth/better-auth/commit/57af0f7b910dcf7b1a5c0615d10b9bd56bb69bef"
    },
    {
      "type": "FIX",
      "url": "https://github.com/better-auth/better-auth/pull/7470"
    },
    {
      "type": "FIX",
      "url": "https://github.com/better-auth/better-auth/pull/7509"
    }
  ],
  "schema_version": "1.7.5",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L",
      "type": "CVSS_V3"
    }
  ],
  "summary": "Better Auth: Rate limiter keys IPv6 addresses individually and is bypassable via prefix rotation"
}