| 제목 | nocodb <= 2026.07.0 Improper Restriction of Excessive Authentication Attempts |
|---|
| 설명 | NocoDB's self-hosted (CE/OSS) build ships PublicApiLimiterGuard as a pass-through stub that returns true for every request, and binds no ThrottlerGuard at the application level. This guard is the only guard protecting /auth/user/signup, /auth/user/signin, /auth/password/forgot and /auth/token/validate/:tokenId.
Three defects compose into a full account takeover:
Enumeration oracle — the signup endpoint returns HTTP 400 User already exist for a registered address and HTTP 200 (with a JWT) for an unregistered one, giving an attacker a precise, unauthenticated test for account existence.
No authentication rate limiting — the sign-in endpoint accepts unlimited failed attempts with no throttling, no account lockout, and no backoff.
Length-only password policy — validatePassword() enforces only length >= 8, with no complexity requirement and no weak-password blocklist, so passwords such as 12345678 and password are accepted at registration.
An attacker enumerates valid accounts, then brute-forces each at full network speed against passwords that the product itself permits. The resulting JWT grants full API access as the victim. |
|---|
| 원천 | ⚠️ https://github.com/nocodb/nocodb/issues/14688 |
|---|
| 사용자 | ZAST.AI (UID 87884) |
|---|
| 제출 | 2026. 09. 29. AM 10:56 (1 월 ago) |
|---|
| 모더레이션 | 2026. 10. 25. AM 10:23 (26 days later) |
|---|
| 상태 | 수락 |
|---|
| VulDB 항목 | 426191 [NocoDB 까지 2026.07.0 /auth/user/signup validatePassword 정보 공개] |
|---|
| 포인트들 | 20 |
|---|