Kirby is a flat-file CMS. In versions prior to 3.5.8.2, 3.6.6.2, 3.7.5.1, and 3.8.1, Kirby is subject to user enumeration due to Improper Restriction of Excessive Authentication Attempts. This vulnerability affects you only if you are using the code
or password-reset
auth method with the auth.methods
option or if you have enabled the debug
option in production. By using two or more IP addresses and multiple login attempts, valid user accounts will lock, but invalid accounts will not, leading to account enumeration. This issue has been patched in versions 3.5.8.2, 3.6.6.2, 3.7.5.1, and 3.8.1. If you cannot update immediately, you can work around the issue by setting the auth.methods
option to password
, which disables the code-based login and password reset forms.
The product does not implement sufficient measures to prevent multiple failed authentication attempts within a short time frame, making it more susceptible to brute force attacks.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Kirby | Getkirby | * | 3.5.8.2 (excluding) |
Kirby | Getkirby | 3.6.0 (including) | 3.6.6.2 (excluding) |
Kirby | Getkirby | 3.7.0 (including) | 3.7.5.1 (excluding) |
Kirby | Getkirby | 3.8.0 (including) | 3.8.0 (including) |
Kirby | Getkirby | 3.8.0-rc1 (including) | 3.8.0-rc1 (including) |
Kirby | Getkirby | 3.8.0-rc2 (including) | 3.8.0-rc2 (including) |
Kirby | Getkirby | 3.8.0-rc3 (including) | 3.8.0-rc3 (including) |
Common protection mechanisms include:
Use a vetted library or framework that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid.
Consider using libraries with authentication capabilities such as OpenSSL or the ESAPI Authenticator. [REF-45]