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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| — | keycloak-core | < 24.0.7, 25.0.0 – < 25.0.4 | 24.0.7 |
| Red Hat | Red Hat Build of Keycloak | — | — |
| Red Hat | Red Hat build of Keycloak 24 | — | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Wolfi
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Wolfi rolling | keycloak-config-cli +2 | 6.4.0-r1 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Maven | org.keycloak:keycloak-core | < 24.0.7 | 24.0.7 | GHSA-xmmm-jw76-q7vg |
| Maven | org.keycloak:keycloak-core | >= 25.0.0, < 25.0.4 | 25.0.4 | GHSA-xmmm-jw76-q7vg |
Advisories 1
- WID-SEC-2024-2083 Red Hat OpenShift Keycloak: Mehrere Schwachstellen BSI CERT-Bund (WID) · Dec 17, 2024
References
- RHSA-2024:6502 vendor-advisory
- RHSA-2024:6503 vendor-advisory
- https://access.redhat.com/security/cve/CVE-2024-7318 vdb-entry
- RHBZ#2301876 issue-tracking