PLEASE help test Lemmy 0.18 fixes, enterprise.lemmy.ml is the testing server with latest code

Wander@yiffit.net to Technology@beehaw.org – 55 points –

This next version is quite important as it brings important fixes.

Bugs: https://enterprise.lemmy.ml/c/actualbugs018

cross-posted from: https://sh.itjust.works/post/300197

Enterprise: enterprise.lemmy.ml - Thank you!

14

You are viewing a single comment

Is there a reason you consider passwords longer than 60 characters an issue, or does the backend reject such passwords? In my experience, there should be no upper bound on password length except maybe in the order of request size being too large (say a password that is a several kilobytes).

The 60 character limit is not a problem imo, the problem is that they are truncated at 60 but the UI doesn't tell you, this results in some problems.

Some password hashing methods has max characters length. For example Bcrypt has 72 max length. This is mostly to avoid taking too much time encrypting user input.

If there's no limit someone can technically froze the server by inputting large password (not because the request is big, but the process is exponentially takes more CPU process the longer characters it needs to compute)

Having only ever implemented PBKDF2 this is a good insight as well. This limitation does not seem to be an issue with more modern hashing algorithms, but I can see where limiting the size to a reasonable amount for purposes of having an upper bound on performance would be needed.

Passwords "should" be hashed anyway, so I don't understand why there's a limit. Are they actually being stored as plaintext in a VARCHAR(60) column in the database? Please tell me that's not happening.

Just checked my own Lemmy postgres database, it's a 12 round Bcrypt 2b hash.