OAuth login or account-linking confusion
An authorization response or external identity is bound to the wrong application session or controlled account.
Candidate CWE: CWE-287 · CWE-352
Test hypothesis#
Use separate A/B browser profiles and a test IdP. Capture a normal linking flow, then submit A’s response into B’s pending transaction. Test code reuse and wrong PKCE verifier as separate controls.
Evidence required#
The application logs in or links the wrong controlled identity without required confirmation. Preserve issuer, client, subject, redirect, transaction binding, and the final linked identity.
Rule out false positives#
Missing state alone is inconclusive when valid alternative binding exists. A rejected mismatched response or public redirect does not prove takeover.
Playbook and command references#
- Authentication, recovery, federation, and session lifecycle — Test registration, recovery, identity changes, invitations, SSO enforcement, and deprovisioning as one account state machine.
- OAuth, OIDC, and SAML: transaction binding and token trust — Separate browser transaction binding, issuer trust, token purpose, and identity linking using controlled federation fixtures.
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.