Headline
GHSA-xmmm-jw76-q7vg: One Time Passcode (OTP) is valid longer than expiration timeSeverity
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.
- GitHub Advisory Database
- GitHub Reviewed
- GHSA-xmmm-jw76-q7vg
One Time Passcode (OTP) is valid longer than expiration timeSeverity
Moderate severity GitHub Reviewed Published Oct 14, 2024 in keycloak/keycloak • Updated Oct 14, 2024
Package
maven org.keycloak:keycloak-core (Maven)
Affected versions
< 24.0.7
>= 25.0.0, < 25.0.4
Patched versions
24.0.7
25.0.4
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.
References
- GHSA-xmmm-jw76-q7vg
Published to the GitHub Advisory Database
Oct 14, 2024
Last updated
Oct 14, 2024