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

Add Domain User form allows user enumeration #19

Open
ShaneMcC opened this issue Sep 11, 2017 · 1 comment
Open

Add Domain User form allows user enumeration #19

ShaneMcC opened this issue Sep 11, 2017 · 1 comment

Comments

@ShaneMcC
Copy link
Member

Similar to #18 but a lot more annoying to solve as we store access in the DB keyed off the userid incase the user changes their email address.

@ShaneMcC ShaneMcC changed the title Add Domain User Password Form allows user enumeration Add Domain User form allows user enumeration Sep 11, 2017
@ShaneMcC
Copy link
Member Author

Probably gonna implement this something like:

  • Add a pendingAccess table (domainid, email, accessLevel, addedByUser, expiresTime, response)
  • When adding access for someone, it adds it to this table and tells the person adding the access that if a user exists with that email, they will be told about the pending request and given X days to accept or reject.
  • Find a user with email as their email and send them a message to let them know someone wants to share access to a domain.
  • The domains page should show all pending requests (even if there is no matching user) that have either not been actioned, or have been rejected (so that rejecting doesn't give away that the user exists) and have not yet expired
  • Allow a user with an email address of emailto accept/reject the request (if they haven't already rejected).
    • Accept should add the appropriate level into the main domain access table and notify addedByUser that the request was accepted (in case they forgot about the access request, to remind them that someone else now has access to the domain) and remove the pendingAccess request.
    • Reject should mark the request as rejected so that it can't be accepted, but shouldn't remove it until after the expiry date

I think. Will mull it over some more before actually implementing.

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

1 participant