medium4.8
CVE-2024-7318
Keycloaks's One Time Passcode (OTP) is valid longer than expiration timeSeverity
Impact
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.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| maven | org.keycloak:keycloak-core | < 24.0.7 | 24.0.7 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Redhat | Build Of Keycloak | from 22.0 before 24.0.7 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://access.redhat.com/errata/RHSA-2024:6502
- https://access.redhat.com/errata/RHSA-2024:6503
- https://access.redhat.com/security/cve/CVE-2024-7318
- https://bugzilla.redhat.com/show_bug.cgi?id=2301876
- https://github.com/advisories/GHSA-xmmm-jw76-q7vg
- https://github.com/keycloak/keycloak/security/advisories/GHSA-xmmm-jw76-q7vg
- https://nvd.nist.gov/vuln/detail/CVE-2024-7318