Cross filling passwords on a broken HTTPS site (llvm.org) |
||||
Issue descriptionThis is a security issue with filling passwords. What happened: * Long time ago, the user stored their username/password pair for llvm.org/bugs both on HTTP and HTTPS version of that site. * If the user visits chrome://settings/passwords, they only see one entry for llvm.org, associated with the HTTP URL. * Today, the user visited https://llvm.org/bugs, but Chrome signals red flags: "Your connection to this site is not secure. You should not enter any [...] passwords [...]". Yet at the same time, Chrome fills the HTTPS credentials it stored into this broken HTTPS page. There are two issues: (1) Chrome does not show that the user has a HTTPS credential saved at all. (2) Chrome warns the user against entering passwords in a site, yet at the same time Chrome autofills the saved password.
,
Dec 14 2016
,
Dec 14 2016
I forgot to say the above was encountered with Chrome 55.0.2883.87. 56+ seems to be better at preventing users to go to that page at all, which may at least mitigate the issue. I will investigate further.
,
Dec 14 2016
On 57.0.2952.0, ChromePasswordManagerClient::DidLastPageLoadEncounterSSLErrors understands already that the SSL status is bad and refuses to fill anything. That might be related to the fact that on 57, unlike 55, the user needs to click through the "unsafe HTTPS" interstitial. Not sure if the situation from 55 is reproducible on other pages in 57. The password manager uses net::IsCertStatusError to check whether to fill/save or not, which seems like the appropriate solution. As for (1), this is actually bug 658981 , and has been fixed since (works fine in 57). Phew.
,
Dec 14 2016
For 55, SHA-1 only affected the omnibox UI's representation of secure - for purposes of autofill and features, the page was considered secure. This was part of a multi-release signal that ... For 56, the page would not be treated as secure and require a click through.
,
Dec 15 2016
Thanks for the clarification in #5! Glad to hear that this was just a transitional state. |
||||
►
Sign in to add a comment |
||||
Comment 1 by vabr@chromium.org
, Dec 14 2016