Unauthorized authenticator enrollment, replacement, or removal
A lower-assurance or wrong-account context can add, replace, or remove an authentication factor contrary to its management policy.
Candidate CWE: CWE-287
Test hypothesis#
In a disposable account, capture the legitimate factor-change flow. Compare required recent proof with stale, omitted, or other-account proof; independently test completed and MFA-pending sessions. Confirm a newly added factor through a fresh login, or a removed factor through one further login attempt.
Evidence required#
Expected factor-management rule, actor authentication state, factor owner before/after, exact changed proof, and a fresh protected-account result. Keep a recovery route and remove the test factor.
Rule out false positives#
A renamed label, intentional recovery process with adequate proof, or optional notification missing without any unauthorized factor change is insufficient.
Playbook and command references#
- MFA and passkeys: enrollment, proof, replacement, and recovery — Follow each authenticator from account binding to removal, and validate WebAuthn assertions without mistaking client UI or counter behavior for a security guarantee.
- Authentication, recovery, federation, and session lifecycle — Test registration, recovery, identity changes, invitations, SSO enforcement, and deprovisioning as one account state machine.
Find the associated command snippets
Referenced by these target playbooks#
Report checklist#
- Capture the affected version, configuration, identities, and object ownership.
- Preserve a valid baseline and a negative control.
- Reproduce the forbidden data access, action, or state change on controlled fixtures.
- Explain the intended security rule and why the observed behavior violates it.
- State prerequisites, uncertainty, cleanup, and the smallest demonstrated impact.
Conditional ATT&CK mapping#
No direct ATT&CK mapping selected. Record the weakness and demonstrated impact without forcing an adversary-behavior classification. See the mapping guide.