Issue metadata
Sign in to add a comment
|
Expired SSL being loaded as valid
Reported by
ad...@mattprager.com,
Aug 25 2017
|
||||||||||||||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (X11; CrOS x86_64 9765.31.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.51 Safari/537.36 Platform: 9765.31.0 (Official Build) beta-channel cyan Steps to reproduce the problem: 1. SSL for one of my sites expired yesterday. 2. Chrome continues using expired certificate after reload and marks it as Valid. 3. What is the expected behavior? Chrome should notice that the expiration date on the SSL cert has passed and ask the server for a new cert. What went wrong? An expired cert isn't valid. Chrome is both (a) failing to request a new cert from the server on reload and (b) marking the expired, cached cert as valid. When I go to the same site in an Incognito tab, Chrome loads the correct new cert. Did this work before? N/A Chrome version: 61.0.3163.51 Channel: n/a OS Version: 9765.31.0 Flash Version: 26.0.0.137 Forcing the cache to empty and doing a hard reload gets the proper cert loaded. Chrome should have done this on its own however, i.e. I shouldn't have had to go into Developer Tools, to a CTRL-Right-Click and reload just to get Chrome to notice it was using an old cert.
,
Aug 25 2017
I suspect that this is a duplicate of Issue 652642, whereby the resource was cached with a valid certificate and when reused from the cache/ServiceWorker, the certificate originally obtained is displayed. That isn't a security issue but instead a functional issue in this corner case. Can you share any additional information about your site, like a Network Log? https://dev.chromium.org/for-testers/providing-network-details
,
Aug 25 2017
Sure. Is there potentially private information in the log? If not, I'll upload it. And the site is just Outlook Web Access to an Exchange Server. What's particularly weird about the SSL issue is that I have two tabs for the exact same site open - one is the calendar subdirectory of OWA and one is the email inbox of OWA. They're literally the exact same domain (https://mail.MYSITE.com/). The calendar tab shows the correct cert and the mail tab shows the expired one above.
,
Aug 25 2017
Thank you for providing more feedback. Adding requester "elawrence@chromium.org" to the cc list and removing "Needs-Feedback" label. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Aug 25 2017
rsleevi@, would you be the right person to tackle this? Thank you.
,
Aug 25 2017
I do not believe this represents a Security Bug, and should be WontFix/Working As Intended, but I also am not sure this represents a "Functional" bug either - this is working as designed. As noted in Comment #2, this is fundamentally a duplicate of Issue 652642, although that was more limited in its description, so I won't dupe it. There is no requirement in any implementation to limit the maximum cache age of a resource to the lower-bound of (server supplied cache timing, certificate expiration). I am further not aware of any implementation that implements such logic. That would be a significant design change with non-trivial performance impact and the potential to undermine ecosystem security (by encouraging longer-lived certificates to have longer-lived resources). When a resource is loaded solely from the disk cache (without any server interaction), we display the resource information that was loaded from the cache. When something involves communication with a server (including validating that the cached resource is still usable - such as If-Modified-Since), then we display that information.
,
Aug 25 2017
Yes, but when I did a Hard Reload and Empty Cache, shouldn't that have loaded the resource from the server and not from the cache? If so, it didn't because the server no longer has the expired cert. And, as a piece of the functionality, isn't the purpose of the green "Secure" to let the end-user know that the encryption hasn't been tampered with? If so, doesn't displaying an invalid cached cert as Secure invalidate that function since the end-user - me in this case - can no longer know if the connection is, in fact, secure because Chrome is designating a clearly expired cert as "secure", a contradiction that might make the end-user wonder if security has been hijacked in some way?
,
Aug 25 2017
The encryption was not tampered with when the item was cached to disk, and so it is an accurate representation of how the information was loaded. With respect to DevTools' "Empty Cache and Hard Reload", that is not necessarily going to ensure all the necessary details are flushed. For example, if within a still running session, you may have performed TLS session resumption, in which the server 'negotiated' with the old certificate on a new connection. This is also valid (and practiced by servers). The chrome://net-export log mentioned in Comment #2 would confirm this.
,
Aug 25 2017
I see - thanks for clarifying. I guess my thought, as to functionality, was that if the purpose of the green Secure is to tell the user there's been no encryption tampering, is that functionality undermined by displaying the cached invalid cert as valid? Does the end-user then lose faith in the browser's ability to distinguish between a secure connection and an insecure one? I mean maybe it makes no difference since I'm guessing most people will see the green Secure and not examine the actual certificate, so perhaps it's more of a philosophical question about communicating security to an end-user and whether seemingly contradictory information - green Secure with expired cert - is allowable as part of that communication or whether that seeming contradiction would undermine user faith in the chain of trust.
,
Aug 25 2017
One way to resolve that ambiguity is to not display the certificate at all :)
,
Aug 25 2017
If I hadn't looked at the cert, I never would've filed this report since my site was green/Secure, so maybe that's genius solution! :)
,
Dec 2 2017
This bug has been closed for more than 14 weeks. Removing security view restrictions. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot |
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by ad...@mattprager.com
, Aug 25 2017108 KB
108 KB View Download