A vulnerability was found in Keycloak. Expired OTP codes are still usable when using FreeOTP when the OTP token period is set to 30 seconds (default). Instead of expiring and deemed unusable around 30 seconds in, the tokens are valid for an additional 30 seconds totaling 1 minute. A one time passcode that is valid longer than its expiration time increases the attack window for malicious actors to abuse the system and compromise accounts. Additionally, it increases the attack surface because at any given time, two OTPs are valid.
The product uses a cryptographic key or password past its expiration date, which diminishes its safety significantly by increasing the timing window for cracking attacks against that key.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Build_of_keycloak | Redhat | 22.0 (including) | 24.0.7 (excluding) |
Red Hat Build of Keycloak | RedHat | keycloak-core | * |
Red Hat build of Keycloak 24 | RedHat | rhbk/keycloak-operator-bundle:24.0.7-4 | * |
Red Hat build of Keycloak 24 | RedHat | rhbk/keycloak-rhel9:24-16 | * |
Red Hat build of Keycloak 24 | RedHat | rhbk/keycloak-rhel9-operator:24-16 | * |