p PatchFirst

CVE-2026-45364

CVE-2026-45364 · Better Auth: Rate limiter keys IPv6 addresses individually and is bypassable via prefix rotation

This page contains facts from public vulnerability sources. Check the original advisory before updating.

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.

CVSS 7.3 · High · EPSS 0.3% · Fix available

Published
Updated

Stack: node

Affected products and versions

  • better-auth

    Versions
    • < 1.4.17: Affected
    • >= 1.5.0-beta.1, < 1.5.0-beta.9: Affected

    No fix published

  • better-auth npm

    Affected ranges
    • SEMVER: < 1.4.17

    Update to 1.4.17

  • better-auth npm

    Affected ranges
    • SEMVER: ≥ 1.5.0-beta.1, < 1.5.0-beta.9

    Update to 1.5.0-beta.9

Original sources

Check your server →