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
- https://github.com/better-auth/better-auth/security/advisories/GHSA-p6v2-xcpg-h6xw
- https://github.com/better-auth/better-auth/pull/7470
- https://github.com/better-auth/better-auth/pull/7509
- https://github.com/better-auth/better-auth/commit/43e719bcc0c223c7079fa0c611a9cf7ea1188254
- https://github.com/better-auth/better-auth/commit/57af0f7b910dcf7b1a5c0615d10b9bd56bb69bef
- https://nvd.nist.gov/vuln/detail/CVE-2026-45364