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

Email enumeration prevention #420

Open
degeri opened this issue Jun 24, 2019 · 4 comments
Open

Email enumeration prevention #420

degeri opened this issue Jun 24, 2019 · 4 comments

Comments

@degeri
Copy link
Member

degeri commented Jun 24, 2019

It is currently possible for someone to figure out if a specific email address is registered with the VSP. We do have captcha for all the pages that expose this information (this would prevent automated attacks) but someone could still manually do these requests.

This information is exposed in two pages.

  1. site.com/register if we give an email that already exists it throws the error This email address is already registered .

image

Fix:

Give a generic message regardless of if the email is registered or not (This is how politeia has implemented this)

We can have a message similar to politeia

Please check your inbox to verify your registration.

Note that, for privacy reasons, the VSP does not disclose whether an email address has already been registered. If you don't receive an email:

Check that example@example.com is the correct address.

Check your spam folder!

  1. site.com/settings if an email address already exists will throw an error email address in use

image

Unlike the solution above we cannot fix this by simply giving a single generic message for both.It requires some additional fixing.

This is because "change email" triggers an email to the "old email" address. So depending on if the attacker received the email or not they can determine if the "new email" exists in the system. So we need to either.

a. send an email to "new email" first and send the "email changed" email to "old email" only after email confirmation.
or
b. send a notification email to the "old email" regardless of if the "new email" exists or not.

"b" seems to be the better option

@s-ben
Copy link

s-ben commented Jun 28, 2019

image

@amass01
Copy link
Member

amass01 commented Aug 22, 2019

@s-ben
Hey there, are still working on it or is it free for all ? 🤔

@s-ben
Copy link

s-ben commented Aug 23, 2019

Nah man, was gonna but there was this Wheel of Fortune marathon on....

Not working on it @amassarwi, just joking around :) Looks like it's still open.

@degeri
Copy link
Member Author

degeri commented Aug 23, 2019

@amassarwi its open. You can work on this.

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

3 participants