Description
Authelia is an open-source authentication and authorization server providing two-factor authentication and single sign-on (SSO) for applications via a web portal. In versions 4.38.0 through 4.39.19, when a user authenticates via Basic Auth (i.e via the `Authorization` header with the `Basic` scheme) on the authz verification endpoint, Authelia takes the username directly from the `Authorization` header and passes it as is to the regulation system for ban checking and attempt recording. LDAP treats usernames case insensitively : `john`, `John`, and `JOHN` all bind as the same user. But the regulation SQL queries treat the lookup of these values in certain scenarios as case sensitive. This allows each variation of a usernames case to have its own ban bucket. Upgrade to 4.39.20 to receive a patch. As a workaround, explicitly disable the basic auth mechanism.
Problem types
CWE-178: Improper Handling of Case Sensitivity
CWE-307: Improper Restriction of Excessive Authentication Attempts
Product status
References
github.com/...thelia/security/advisories/GHSA-hjj4-hfjm-fmrj
github.com/...ommit/b8985b57b70acdff8f204ed426ff619e763461ad