Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: Google Chrome is uploading my password to their password leak API?
19 points by photoGrant on Dec 15, 2022 | hide | past | favorite | 12 comments
I'm curious, I was logging into a website to download some trial software, in the mean time Chrome popped up asking if I wanted to save that password to their manager. I said 'Never' as usual, but I noticed they sent my password I typed regardless to their website url 'passwordleakcheck-pa.googleapis.com'

Anyone have any insight? This doesn't feel right.

edit: There's the likelihood it's the other way around? They're downloading a big list of leaked hashes and checking it locally...




Thanks! I hate it even more. I installed it fresh on a VM and this means to say I have to disable password management in chrome regardless if I ignore using it, because my data and password in whatever form they care to describe it, is sent away from my computer and away from the destination I intended it. I hate it.

> "In order to inform signed-in users about leaked credentials this " "service uploads a prefix of the hashed username, as well as the " "encrypted username and password following a successful password " "form submission. The former is a 3 bytes of the hash and doesn't " "reveal the username to the server in any way. The latter is " "completely opaque to the server. The server responds with a list " "of encrypted leaked credentials matching the prefix of the hashed " "username, as well as with a re-encypted version of the uploaded " "username and password. Chrome then reverses its encryption on the " "re-encrypted credential and tries to find it in the list of " "leaked credentials. If a match is found, Chrome notifies the user " "and prompts them to change their credentials. Re-encryption part " "is for the privacy reason. The server can't read the user's " "password. At the same time the client can't read the " "usernames/passwords of other leaked accounts but only can check " "the current one.";


....Sounds like an awesome opportunity to fuzz that API, and dump the entirety of Google's "compromised credential" DB.

For research purposes only of course. I'm sure they provisioned enough instance to handle a rather aggressive fuzzing as well seeing as this thing is surely built to stand up to the entire Chrome using internet logging in at the same time, right?

And surely there is no way whatsoever one could use this data to potentially compromise other accounts...

Or use it as a basis for birthday attacks on unreported compromised accounts. Or, set up some unique credentials in compromised systems, then checking the googleapi call for it to see if the intrusion has been reported/caught yet.

Ahhhh side channels. Yes, side channels. Fnord.


If you look at the link provided by this thread’s parent you’ll see the credential database / API is encrypted, and the input is 3 bytes of the username hash.

None of what you’re describing is possible. Even if it was, it would not be as useful as you think as the only leaks in that database will be public leaks that everyone can easily find if they know where to look.


Those leaked passwords are already in the internet. And even if they're aren't (then they are not leaked), yes, go brute force google api.


Ah, yes, a core function of the browser and not something that could be solved via an extension or a page with Google's web services.


Looking through my query logs it appears that Android phones do this as well even if Chrome is not explicitly launched. Perhaps it is the Google Play Store or some related service which I believe is Chrome.

The actual name I see is "passwordsleakcheck-pa.googleapis.com" passwords vs password.


"Chrome first sends an encrypted, 3-byte hash of your username to Google, where it is compared to Google's list of compromised usernames. If there's a match, your local computer is sent a database of every potentially matching username and password in the bad credentials list, encrypted with a key from Google. You then get a copy of your passwords encrypted with two keys—one is your usual private key, and the other is the same key used for Google's bad credentials list. On your local computer, Password Checkup removes the only key it is able to decrypt, your private key, leaving your Google-key-encrypted username and password, which can be compared to the Google-key-encrypted database of bad credentials. Google says this technique, called "private set intersection," means you don't get to see Google's list of bad credentials, and Google doesn't get to learn your credentials, but the two can be compared for matches." https://arstechnica.com/gadgets/2019/12/googles-password-che...


Services like Have I been Owned (IIRC Firefox makes use of) work similarly.


> I said 'Never' as usual

Then turn off password saving in chrome settings.

The password is hashed, it doesn't hurt.


When I sniff it on you local network I can probably guess your username (helped by the 3 byte hash, to confirm), and with my 2TB rainbow table your password is known in 0.5 seconds.

It DOES hurt.


> When I sniff it on you local network I can probably guess your username (helped by the 3 byte hash, to confirm),

> and with my 2TB rainbow table your password is known in 0.5 seconds.

A rainbow table is only used when there is no salt in the hash. Also, if someone sniffs on your network (and can sniff on https requests), you got much bigger problems bud.

Edit: tho I'm not sure if chromium salts the password.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: