Tell HN: Zoom truncates passwords to 32 chars
Initially, my password only had lower case letters and numbers. Zoom refused to allow me to use this string because it didn’t have any upper case letters. I figured they were only trying to help so I changed the last alphabet to upper case. Same error. I then thought that maybe they were expecting more than one upper case letter so I changed a few more letters in the second half of my password to upper case. Still the same error.
Annoyed, I changed the first few alphabets to uppercase and this time zoom accepted the new password.
I don’t recall what made me notice this but it turns out that zoom only takes in the first 32 chars of the password which it presumably stores in some hashed form in their backend.
While 32 chars is plenty long for a password, I just wish they’d mentioned this limitation on their website.
[+] [-] koolba|6 years ago|reply
https://news.ycombinator.com/item?id=13838342
[+] [-] hellcow|6 years ago|reply
They escalated to tier 2, then to engineering. It's really disappointing this wasn't fixed.
[+] [-] duxup|6 years ago|reply
[+] [-] satya71|6 years ago|reply
[+] [-] infogulch|6 years ago|reply
The problem is caused by the way multi-round password hashing algorithms are designed. Specifically, in each round, the full contents of the password is concatenated with the previous round's hash result as the input to the next round. This means that the processing complexity of password hashing is proportional to `number of rounds * password length`. Because the implementation has to tune the number of rounds to their authentication server's performance, and because the tuning is performed on "normal length" passwords, this opens the authentication servers up to a DOS attack by overwhelming them with very long passwords which is only a problem because password hashing has quadratic complexity thanks to this design. Thus, in response, administrators are forced (!) to limit password length just so their authentication servers can't be attacked.
This design flaw (imo) could be pretty easily solved by hashing the user provided password once first, and then using that hash to concatenate each round. This changes the complexity to `number of rounds + password length` (note the "+" !). As a secondary benefit, the multi-round hashing step actually becomes constant time because all inputs are the same length! In fact, I wonder if the current design makes it possible to infer a user's password length from timing attacks on the authentication servers while a user is logging in.
I've not got any satisfactory cryptographic reason why we still use this design for password hashing besides platitudes like "don't roll your own crypto", appeal to authority "It's been designed by the experts", or stupid reasons like "but network bandwidth!" -- as if an http authentication request that's 4kb is gonna slow down the network vs a 3kb request (and this is a worst case of a relatively huge 1kb password!). Availability is an important part of security, and sacrificing both availability (vulnerability to DOS) and security (admins forced to limit password length) seems like a doubly whammy argument against the current design.
[+] [-] Sammi|6 years ago|reply
Apply a regular ol hash function first, so the input to the the cryptographic hash function is the short'ish fixed length output of the regular hash function.
A good regular hash function will preserve the entropy of a long input password, so it doesn't hurt, and it solves the problem you present.
Bonus points for doing this on the client side so that you're not even using extra network bandwidth.
[+] [-] sneak|6 years ago|reply
(I finally deleted my account there yesterday after close to 20 years; I should have done so years ago.)
[+] [-] smartbit|6 years ago|reply
I created a second one which worked but not using it any more. Will follow suit and close it too.
[+] [-] davidg109|6 years ago|reply
[+] [-] freehunter|6 years ago|reply
So 8 digits or maybe 12 or 16 indicates the system runs on a modified bank by phone system. That also means they have to restrict password characters to things that would work on a phone keypad.
Another place I worked had the same problem with passwords because any password that you use might have to be entered into a handheld scanner in the warehouse. And those handhelds didn’t have full keyboards so you could only use characters that exist on the handheld’s keyboard.
[+] [-] 0xFluegel|6 years ago|reply
[+] [-] roter|6 years ago|reply
* minimum of 8 characters
* one uppercase and lowercase letter
* one number
* one special character
They should just allow any character instead of requiring characters. At least they allow longer passwords...
[+] [-] duxup|6 years ago|reply
I was logging in and sure I typoed my password but it worked.
Then I tried typoing it again and it failed.
Then I started to wonder ... yeah after like 8 characters it just didn't matter.
I emailed them and did not get a response, but to their credit they fixed it within about a month. Maybe that was planned already but at least they fixed it.
[+] [-] l31g|6 years ago|reply
[+] [-] moltar|6 years ago|reply
[+] [-] prostanac|6 years ago|reply
[+] [-] meowface|6 years ago|reply
[+] [-] pdexter|6 years ago|reply
[+] [-] 0xFluegel|6 years ago|reply
It might be plenty long for completely random characters, but when one uses a word sequence, the 32 characters are easily reached.
[+] [-] tachyonbeam|6 years ago|reply
[+] [-] snazz|6 years ago|reply
[+] [-] londons_explore|6 years ago|reply
The number of rounds increases brute-force complexity linearly.
Adding more characters increases complexity exponentially.
Exponential is exponentially better than linear...
[+] [-] lilott8|6 years ago|reply
Finally, I just changed my password to a randomly generated password of a commanding ~16 characters and haven't had a problem logging in since. I've spent more time than I care messing with my password on xfinity's site. There was exactly no scientific endeavor, and is purely conjecture. But it really feels as though there is some chicanery happening with passwords.
[+] [-] zelon88|6 years ago|reply
[+] [-] nickthemagicman|6 years ago|reply
I was under the impression that with 16 random ascii characters it would take all of the computing power on earth until the heat death of the sun to crack it.
[+] [-] rootusrootus|6 years ago|reply
[+] [-] psim1|6 years ago|reply
[+] [-] wishinghand|6 years ago|reply
[+] [-] cmcd|6 years ago|reply
[+] [-] nicky0|6 years ago|reply
[+] [-] saimiam|6 years ago|reply
Why: len(sha256sum(str)) = 64.
[+] [-] masklinn|6 years ago|reply
Also if you put a limit, don’t silently truncate.
[+] [-] Hamuko|6 years ago|reply
[+] [-] benmmurphy|6 years ago|reply
[+] [-] throwaway55554|6 years ago|reply
Yes, there are going to be limitations; no resource is infinite. But 32 chars is just too arbitrary.
[+] [-] randunel|6 years ago|reply
[+] [-] unknown|6 years ago|reply
[deleted]
[+] [-] rshnotsecure|6 years ago|reply
[+] [-] satya71|6 years ago|reply
[+] [-] sm2|6 years ago|reply
[+] [-] thanatropism|6 years ago|reply
[+] [-] dgritsko|6 years ago|reply
[+] [-] asveikau|6 years ago|reply
That was July.
https://www.schneier.com/blog/archives/2019/07/zoom_vulnerab...
[+] [-] lainga|6 years ago|reply
[+] [-] justapassenger|6 years ago|reply
They need scrutiny, especially given that their security record is subpar. Bad actors aren't self-isolating themselves from internet during pandemic.
If I were a bad actor, I'd totally go after Zoom as an attack vector, given its sudden adoption, without proper security reviews by organizations.
[+] [-] MPSimmons|6 years ago|reply
This software smells like it started as an internal tool for a company that escaped.
[+] [-] _jal|6 years ago|reply
The best way to weather it is to write secure software that doesn't do stupid thngs (like reinventing sudo without protections) and not to slimy things (like trying to deceive your users about your lack of end-to-end encryption). If you choose to do those things instead, people are going to talk about it.
[+] [-] dmitriid|6 years ago|reply
It doesn't help that Zoom has a history of bad practices. Just last year Apple had to issue a silent security updates to macOS to patch Zoom's zero day vulnerabilities Zoom denied existed.
[+] [-] hsnewman|6 years ago|reply
[+] [-] hkchad|6 years ago|reply