high-dawn-87261
02/21/2025, 8:56 AMselfservice:
methods:
code:
mfa_enabled: true
flows:
settings:
required_aal: highest_available
A user who normally requires MFA to access settings ( has available_aal = aal2
) can bypass the AAL2 requirement by using email OTP for both factors:
1. Start account recovery → receive an email OTP (recovery code) as the first factor.
2. Authenticate with that email OTP.
3. When prompted for MFA, use another email OTP (mfa email code) as the second factor.
4. Access the settings flow without providing a distinct second factor.
Questions
• Is this expected behavior in Kratos when highest_available
is used?
• How can we prevent the same factor from being used twice to meet the AAL2 requirement?
• Should Kratos enforce a distinct second factor for AAL2?
(edited)flaky-kilobyte-10585
02/21/2025, 9:50 AMbrief-egg-61061
02/21/2025, 9:50 AMbrief-egg-61061
02/21/2025, 9:50 AM