| 제목 | karakeep-app karakeep >= 0.3.0, <= 0.32.0 Improper Restriction of Excessive Authentication Attempts |
|---|
| 설명 | Karakeep (Affected >= 0.3.0, <= 0.32.0) exposes a public credential-based login endpoint through NextAuth's CredentialsProvider. Unlike the signup endpoint (users.create), which is protected by a createRateLimitMiddleware (3 requests / 60s) and optional Cloudflare Turnstile, the login path (authorize() in apps/web/server/auth.ts) enforces no rate limiting, no failed-attempt lockout, no CAPTCHA, and no exponential backoff. An unauthenticated attacker can send unlimited password guesses against any known email address.
Combined with the separately reported user/email enumeration on the signup endpoint (which confirms whether an email is registered), this yields a practical attack chain: enumerate valid emails → brute-force / credential-stuff their passwords with no throttling. The only slowdown is the bcrypt comparison cost factor (BCRYPT_SALT_ROUNDS = 10), which is insufficient to stop online guessing of weak or reused passwords. |
|---|
| 원천 | ⚠️ https://github.com/karakeep-app/karakeep/issues/2919 |
|---|
| 사용자 | ZAST.AI (UID 87884) |
|---|
| 제출 | 2026. 07. 02. AM 09:18 (2 개월 ago) |
|---|
| 모더레이션 | 2026. 08. 18. AM 06:30 (2 months later) |
|---|
| 상태 | 수락 |
|---|
| VulDB 항목 | 391519 [karakeep-app karakeep 까지 0.32.0 Login Endpoint apps/web/server/auth.ts authorize 정보 공개] |
|---|
| 포인트들 | 20 |
|---|