CVE-2024-7318: Keycloak-core: one time passcode (otp) is valid longer than expiration timeseverity

Published Jul 31, 2024
·
Updated

Duplicate Advisory This advisory has been withdrawn because it is a duplicate of GHSA-xmmm-jw76-q7vg. This link is maintained to preserve external references.

Original Description 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.

Other sources

Expired OTP codes are still usable when using FreeOTP when OTP token period is set to 30 seconds (default). It was found that instead of expiring and being unusable around 30 seconds in, the tokens actually are valid for an additional 30 seconds, to total 1 minute. In this case, this occurs with default OTP Policy settings of: OTP Type: Time-based OTP Hash Algorithm: SHA1 Number of digits: 6 Look around window: 1 OTP Token period: 30 seconds Reusable Token: off

Red Hat

Affected Software

3 affected componentsFixes available
maven/org.keycloak:keycloak-core>=25.0.0<25.0.4
25.0.4
maven/org.keycloak:keycloak-core<24.0.7
24.0.7
redhat Build Of Keycloak>=22.0<24.0.7

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade maven/org.keycloak:keycloak-core to a version that resolves this vulnerability.

    Fixed in 25.0.4
  2. Upgrade

    Upgrade maven/org.keycloak:keycloak-core to a version that resolves this vulnerability.

    Fixed in 24.0.7

Event History

Jul 31, 2024
Data Sourced
via Red Hat·03:08 AM
DescriptionSeverityAffected Software
Sep 9, 2024
CVE Published
via MITRE·06:50 PM
Data Sourced
via MITRE·06:50 PM
DescriptionSeverityWeakness
Advisory Published
via GitHub·09:31 PM
Dec 20, 2024
Withdrawn
via GitHub·05:49 PM
Sep 25, 56691
Event
via NVD·03:48 PM

Frequently Asked Questions

1

What is the severity of CVE-2024-7318?

CVE-2024-7318 has a moderate severity rating due to the ability of expired OTP codes to still be usable.

2

How do I fix CVE-2024-7318?

To fix CVE-2024-7318, update Keycloak to version 25.0.4 or 24.0.7.

3

What versions of Keycloak are affected by CVE-2024-7318?

CVE-2024-7318 affects Keycloak versions between 22.0 and 24.0.7, excluding 25.0.4.

4

Is CVE-2024-7318 a duplicate advisory?

Yes, CVE-2024-7318 is a duplicate of GHSA-xmmm-jw76-q7vg.

5

What types of OTP codes are impacted by CVE-2024-7318?

CVE-2024-7318 impacts expired OTP codes used with FreeOTP in Keycloak.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203