Update your stuff, folks. I've had a fun day at work.

you are viewing a single comment's thread
view the rest of the comments
[–] 3 points 9 hours ago

It's also worth mentioning that these very poorly secured certificates were intermediate certificates. These are not used directly by websites to assure the end user that the communication with the website is secure - it's even worse than that.

Intermediate certificates are used to sign the website certificates, so that the end user's browser can look up the server certificates that websites give them, to determine if the certificate is genuine (and not, say, a man-in-the-middle that is intercepting the communication and merely pretending to be the real website).

Since anybody can easily just create a certificate, there has to be a way that an end user can be confident that the website they are visiting is actually the one they intend to visit. The way the current system works is that there is a curated list of CA (certificate authority) certificates that have been thoroughly vetted by multiple security organizations. These are used to "sign" server certificates. Every browser has a copy of the corresponding public CA certificate. The private certificates are kept very securely offline. There's no easy way for anyone to create a certificate that "claims" to be (but actually isn't) signed by one of these trusted CA certificates. This way, when a website provides its certificate, the browser can look at the signing key and know with a high degree of certainty that the website is what it says it is.

An intermediate certificate is a "delegate" subsidiary of a CA cert. It can be used as a proxy to its parent CA cert to sign other generated certs. So even if a website (or a man-in-the-middle) provides what appears to be a very secure cert with strong encryption, it may have been signed by a "broken" insecure intermediate cert. The browser, of course, doesn't know - or care - about how insecure the the intermediate cert is - the browser has already implicitly trusted it. There fore, the browser has no way of knowing or alerting the user that their communication with the website has been compromised by someone pretending to be another website.

  • source
  • parent