Password reset confirm message should discourage social engineering

The password reset logic confirms whether en email exists in the user database. This is generally considered bad practice as it enables malicious users to “query” discourse user db. DigitalOcean is a good example of being vague about the provided email, “if the email you specified exists in our system, we’ve sent a password reset link to it”

2 „Gefällt mir“

If you want this, enable it in site settings. Already exists.

By default we tell people since they can never remember which of their 10 email addresses they signed up with, so it is user hostile to force them to walk through all 10 emails to figure out which one they used on your site.

5 „Gefällt mir“

The signup form already gives away if an email address already exists (and turning that off doesn’t make sense) so it doesn’t really matter here, it doesn’t make that attack vector go away and it only makes things harder for users who actually forgot their password (or: forgot their email address)

6 „Gefällt mir“

@codinghorror thanks I didn’t know there’s a setting for it
@michaeld yes, it is true that the sign up form confirms for the existence of an email but one can reduce the email visibility by integrating Discourse with external identity providers or creating a custom sign up form with CAPTCHA.

There are already rate limits on these forms, try it yourself.

Ich nehme an, das war ein alter Beitrag, aber falls jemand anderes auf dieses Problem stößt und sich Sorgen macht, dass Leute E-Mails von bestehenden Community-Mitgliedern abfragen können, scheint es, dass Discourse eine einfache Lösung dafür implementiert hat. Suchen Sie in den Einstellungen nach „E-Mail-Adresse verbergen, wenn bereits vorhanden“ und aktivieren Sie diese Option. Dies verhindert, dass Benutzer die Funktion „Passwort vergessen“ verwenden, um E-Mails auf Ihrem Server abzufragen.

1 „Gefällt mir“

Nur um das zu verknüpfen, es wurde in diesem Commit als Teil dieses Themas hinzugefügt - Hide 'email account exists' for invites :partying_face:\n\n\nhttps://github.com/discourse/discourse/pull/16703\n\nNein, ich habe nicht aufgepasst. :slight_smile: Das diente dazu, diese Einstellung weiter auszudehnen und den Einladungsbildschirm einzuschließen. Dennoch eine interessante Ergänzung, die ich gerne erwähnt habe. :slight_smile:

Geschlossen zugunsten von Email enumeration vulnerability on "Password Reset" dialogue