Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Possible to spoof logout? #288

Closed
plinss opened this issue Jun 27, 2022 · 7 comments
Closed

Possible to spoof logout? #288

plinss opened this issue Jun 27, 2022 · 7 comments

Comments

@plinss
Copy link

plinss commented Jun 27, 2022

From the TAG Review.

The logout process is somewhat vague, we were wondering if there's any authentication in the logout payload? The concern is random third parties being able to call the logout endpoint of an RP and log users out.

@cbiesinger
Copy link
Collaborator

This is about logoutRPs?

@plinss
Copy link
Author

plinss commented Jun 27, 2022

This is about the logout endpoint on the RP. E.g. can a random 3rd party call a RP's logout endpoint and log users out?

@cbiesinger
Copy link
Collaborator

Yes, we need to work on that. The thinking is two-fold:

  • Only allow calling logoutRPs from an IDP's origin when the browser knows that there is a previous login from that IDP to that RP
  • The endpoint should check for the "Sec-FedCM-CSRF" header

@plinss
Copy link
Author

plinss commented Jun 27, 2022

Both of those seem to be mitigated by the UA, what's stopping someone from simply using cURL, for example, to send logout requests to random RPs? I'm thinking about a DOS attack.

To mitigate against that the logout request would need to contain something unique to the session, or a token signed by the IDP.

@npm1
Copy link
Collaborator

npm1 commented Jun 27, 2022

Are you talking about the POST request on https://fedidcg.github.io/FedCM/#browser-api-idp-sign-out? This is a credentialed request (uses RP cookies), so seems hard to spoof? Perhaps I'm missing something.

@plinss
Copy link
Author

plinss commented Jun 27, 2022

I didn't see that it required the RP's cookies, should be ok then.

@plinss plinss closed this as completed Jun 27, 2022
@samuelgoto
Copy link
Collaborator

I didn't see that it required the RP's cookies, should be ok then.

Correct.

Importantly, this is already a deployed practice in SAML and OIDC, so something that already exists that we are trying to preserve, rather than something that we are trying to introduce.

Will close this now as resolved, feel free to re-open if you need further clarification.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants