Password reset allows enumeration of used email addresses #1515

Closed
Dr-Syn opened this Issue Apr 11, 2017 · 4 comments

Comments

Projects
None yet
3 participants
@Dr-Syn

Dr-Syn commented Apr 11, 2017

When in the password reset dialogue, entering an email address that is not in the database of users' passwords results in a specific error stating that the address has not been found.

This allows for enumeration of what emails are in-use by the users on a given instance, which could conceivably be leveraged to, e.g., determine which emails in a db dump located elsewhere are in-use by the users of a given instance, to take advantage of credential reuse or the like.

The best-practice behavior from a security POV would be to respond with something along the lines of

A password reset email will be sent to this address if it is found in the database

regardless of whether the email address is present or not; this would nullify this kind of attack.

( Yes - I am aware that credential reuse is frowned upon; I'm also aware that it happens constantly and it's better to mitigate it when possible than to add to the endless lectures that regular users ignore. )


  • [ x] I searched or browsed the repo’s other issues to ensure this is not a duplicate.
@Dr-Syn

This comment has been minimized.

Show comment
Hide comment
@Dr-Syn

Dr-Syn Apr 11, 2017

Thank you very much!

Dr-Syn commented Apr 11, 2017

Thank you very much!

Gargron added a commit that referenced this issue Apr 11, 2017

Update language files (#1516)
* update faq with default language

* update translation for about page

* update Minio config

Thanks to @Gargon for helping me. I hope this will help others as well

* update import and export translation

* translate emails to finnish

* add finnish translation for emails

* add finnish translation for emails

* add finnish translation

* add missing dot

* update finnish language to emails

* add finnish translation for emails

* add dot and fix typo

* updated some minor typos

* remove language change due breaking emails

And by dev request

* updated minio config by dev request

* updated about page translation

* fix for Amazon S3/Minio instance setups

If you were using S3 or Minio for your files, this will fix the Import issue :)

* update translation according to issue #1515

See issue #1515

* update translation for issue #1515

see issue #1515

ericblade pushed a commit to ericblade/mastodon that referenced this issue Apr 11, 2017

Update language files (#1516)
* update faq with default language

* update translation for about page

* update Minio config

Thanks to @Gargon for helping me. I hope this will help others as well

* update import and export translation

* translate emails to finnish

* add finnish translation for emails

* add finnish translation for emails

* add finnish translation

* add missing dot

* update finnish language to emails

* add finnish translation for emails

* add dot and fix typo

* updated some minor typos

* remove language change due breaking emails

And by dev request

* updated minio config by dev request

* updated about page translation

* fix for Amazon S3/Minio instance setups

If you were using S3 or Minio for your files, this will fix the Import issue :)

* update translation according to issue #1515

See issue #1515

* update translation for issue #1515

see issue #1515

mbilokonsky added a commit to mbilokonsky/mastodon that referenced this issue Apr 11, 2017

Update language files (#1516)
* update faq with default language

* update translation for about page

* update Minio config

Thanks to @Gargon for helping me. I hope this will help others as well

* update import and export translation

* translate emails to finnish

* add finnish translation for emails

* add finnish translation for emails

* add finnish translation

* add missing dot

* update finnish language to emails

* add finnish translation for emails

* add dot and fix typo

* updated some minor typos

* remove language change due breaking emails

And by dev request

* updated minio config by dev request

* updated about page translation

* fix for Amazon S3/Minio instance setups

If you were using S3 or Minio for your files, this will fix the Import issue :)

* update translation according to issue #1515

See issue #1515

* update translation for issue #1515

see issue #1515

Nyoho pushed a commit to Nyoho/mastodon that referenced this issue Apr 25, 2017

Update language files (#1516)
* update faq with default language

* update translation for about page

* update Minio config

Thanks to @Gargon for helping me. I hope this will help others as well

* update import and export translation

* translate emails to finnish

* add finnish translation for emails

* add finnish translation for emails

* add finnish translation

* add missing dot

* update finnish language to emails

* add finnish translation for emails

* add dot and fix typo

* updated some minor typos

* remove language change due breaking emails

And by dev request

* updated minio config by dev request

* updated about page translation

* fix for Amazon S3/Minio instance setups

If you were using S3 or Minio for your files, this will fix the Import issue :)

* update translation according to issue #1515

See issue #1515

* update translation for issue #1515

see issue #1515
@gandaro

This comment has been minimized.

Show comment
Hide comment
@gandaro

gandaro Sep 30, 2017

Contributor

You can also insert the email address in question into the registration form, and you will be told whether it is already taken.

From what I take from devise.en.yml, you can also use the “unlock account” form to find out which email addresses are taken on a server. See the “send me a confirmation email” form as well.

Contributor

gandaro commented Sep 30, 2017

You can also insert the email address in question into the registration form, and you will be told whether it is already taken.

From what I take from devise.en.yml, you can also use the “unlock account” form to find out which email addresses are taken on a server. See the “send me a confirmation email” form as well.

@gandaro

This comment has been minimized.

Show comment
Hide comment
@gandaro

gandaro Sep 30, 2017

Contributor

And an attacker can just set the preferred language (HTTP Accept-Language) to German, for instance, and then you can still use the “forgot password” form. Because the German translation still differentiates between the “paranoid” and the “non-paranoid” string.

Contributor

gandaro commented Sep 30, 2017

And an attacker can just set the preferred language (HTTP Accept-Language) to German, for instance, and then you can still use the “forgot password” form. Because the German translation still differentiates between the “paranoid” and the “non-paranoid” string.

@gandaro

This comment has been minimized.

Show comment
Hide comment
@gandaro

gandaro Sep 30, 2017

Contributor

Please re-open.

Contributor

gandaro commented Sep 30, 2017

Please re-open.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment