🔍 CVE-2026-45364

7.3
CVSS Score
HIGH
2026-05-28
2026-07-21 10:10
✅ 완료

🇰🇷 한글 설명

Better Auth 라이브러리에서 HTTP 속도 제한(Rate Limiter)이 x-forwarded-for 헤더의 텍스트 IP 주소를 기준으로 키를 생성하는 취약점이 발견되었습니다. IPv6 클라이언트가 방대한 주소 범위를 순환하거나 IP 주소의 인코딩 형식을 변경함으로써 속도 제한을 우회하여 인증 관련 경로를 공격할 수 있습니다. 이 문제는 1.4.17 및 1.5.0-beta.9 버전에서 수정되었습니다.

💡 쉬운 설명

로그인 시도 횟수를 제한하는 기능이 IP 주소를 너무 단순하게 인식하여 발생하는 문제입니다. 공격자가 IP 주소 형식을 살짝 바꾸거나 수많은 가짜 IP를 사용하는 것처럼 속여 제한 없이 로그인을 시도할 수 있습니다.

🇺🇸 원문 (English)

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.

📍 영향받는 시스템

Better Auth versions prior to 1.4.17 and 1.5.0-beta.9

⚔️ 공격 벡터

IPv6 주소의 대량 순환 또는 다양한 인코딩 형식을 이용한 HTTP Rate Limiter 우회

🛡️ 대응 방법

Better Auth를 1.4.17 또는 1.5.0-beta.9 이상의 버전으로 업데이트하십시오.

🔧 검증 코드

출력된 버전이 1.4.17 미만이거나 1.5.0-beta.9 미만인 경우 취약합니다.

Shell / Script
npm list better-auth

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L

💻 영향받는 소프트웨어

Storage Protect Client