GHSA-xmmm-jw76-q7vg

Keycloaks's One Time Passcode (OTP) is valid longer than expiration timeSeverity

At a glance

Published
Updated
CVE
CVE-2024-7318
Aliases
BIT-keycloak-2024-7318
CVSS_V3
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N
CVSS_V4
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

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 packages

PackageVersions
Maven · org.keycloak:keycloak-coreintroduced 0, fixed 24.0.7
Maven · org.keycloak:keycloak-coreintroduced 25.0.0, fixed 25.0.4

References

Sources

SourceLicence
OSV.devCC-BY 4.0 — GitHub Advisory Database