-
Notifications
You must be signed in to change notification settings - Fork 98
Open
Labels
compatibility riskIssues that may lead to backwards compatibility problemsIssues that may lead to backwards compatibility problemsdesign
Description
There is a potential attack that discloses that a user visited an RP to an IDP without explicit consent.
- RP creates a credential, specifying the IDP in the
federatedparameter andrequiredmode. - The browser begins executing the create-credential algorithm.
- The browser fetches the manifest from the IDP. As specified, this sends a Referer header with value of the RP.
- The IDP returns a unique account-list url in the manifest and remembers the tuple (account-list url, RP from referer).
- The browser requests the account list via the url in the manifest, sending its IDP cookie.
- The IDP checks for the account-list url among its tuples. Upon finding one, it creates a new tuple (IDP cookie from account-list request, Referer header from manifest request).
- The IDP and RP have won.
There are two features that enable this attack: arbitrary URLs allowed in the manifest and the Referer header being sent with the manifest. Neither is explicitly permitted, but since they are explicitly forbidden in other API call in the spec I assume that they are allowed behaviors. Let me know if I'm misreading this at all!
Metadata
Metadata
Assignees
Labels
compatibility riskIssues that may lead to backwards compatibility problemsIssues that may lead to backwards compatibility problemsdesign