-
Notifications
You must be signed in to change notification settings - Fork 687
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
Journalist interface logins with invalid usernames are not throttled #3566
Comments
I'll try to pick this one. |
So, currently, failed logins are tracked in "journalist_login_attempt" only for valid users.
Could I get suggestions on which of the two sounds reasonable or share any other feedback? |
Because of the foreign keys on that table, it would not be possible to track log in attempts that are not associated with someone in the A possible mitigation would be to change the logic of the error message to be something more vague to prevent attackers from realizing they have gotten a correct user name. A secondary consideration to strengthen this would be to always run the password hashing functions to increase the difficulty timing attacks (though this itself may be exploitable). However, the above notes would degrade the user experience on the web. That said, once we move to the Journalist Workstation, some credentials (username) may be cached locally so that a user only has to type in their passphrase/OTP token. This would mean a user would only get un-helpful error messages on the set of first login attempts on their workstation, and then from there we could infer it was only their passphrase/OTP token that was incorrect. (This isn't terribly helpful at the moment, I know, but we could discuss it during standup today.) |
@heartsucker Thank you for the comment! |
Summarizing the fix after discussion - |
👍 note that we'll have to also move up the login throttling in |
Adding on to this - We're planning to drop the "id" column in JournalistLoginAttempt and add a user name column instead and there'll be no reference to journalists table. |
@deepthinidwannaya Are you still working on this issue? Please write back if you are stuck and need any help. If not, I am happy to pick this. Thanks! |
Description
Invalid (nonexistent) journalist accounts login attempts are not throttled. This may allow an attacker with ATHS credentials to potentially enumerate journalist usernames on the journalist interface.
Steps to Reproduce
Expected Behavior
Invalid usernames should exhibit the same behavior as valid usernames, otherwise would allow an attacker to distinguish between journalist and non-journalist accounts and potentially enumerate journalist accounts.
Actual Behavior
Invalid usernames are not throttled.
Comments
Because the journalist interface requires an ATHS token to login, and this would, in the worst case, disclose usernames, the risk is quite low. More discussion (including a regression test) can be found here: #3564
The text was updated successfully, but these errors were encountered: