-
Notifications
You must be signed in to change notification settings - Fork 9
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
DOS Exploit #6
Comments
Thank you again, @Tostino. Confirmed here, too. Polynomial time
I wonder if dropbox/zxcvbn will do anything about that or if they will just leave it because it would only hurt the user-side. Also, they don't seem to be keen to any updates for a while now. |
It seems the problem is, like you mentioned, very targeted on l33t chars and only affecting that particular part of the code.
|
I opened an issue on the main Dropbox repo[1], because it is an issue for people who have integrated it into their node.js applications. Just because they intended for client side use originally does not mean it stayed there. |
Making some improvements, the times now look linear
After:
|
@Tostino, I saw your comment on dropbox/zxcvbn#326 and I believe I did something similar to what you mentioned. |
Good call, that is a nice dynamic way to ensure we do the least amount of work possible while ensuring we don't miss potential matches. I'll give that a shot. |
Hey, just wanted to let you know I've gotten reports from users of my library: Nbvcxz that are getting a DOS every so often by specifically crafted passwords.
I found a tool created by a government contractor used for issuing a DOS against programs using libraries containing the vulnerable (to combination explosion) algorithms from the original zxcvbn implementation:
I've solved this by implementing a maxLength type configuration...but that isn't totally done yet as I feel like I still need to have it do dictionary checks against the full-length password without any transformations. Working on finishing that feature and putting out a release. I just wanted to mention it to you, since this is also often run server-side rather than client-side.
The text was updated successfully, but these errors were encountered: