GitHub's User Content certificate has expired
github.com
github.com
$ openssl s_client -connect objects.githubusercontent.com:443
CONNECTED(00000005)
depth=2 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert Global Root CA
verify return:1
depth=1 C = US, O = DigiCert Inc, CN = DigiCert TLS RSA SHA256 2020 CA1
verify return:1
depth=0 C = US, ST = California, L = San Francisco, O = "GitHub, Inc.", CN = *.github.io
verify error:num=10:certificate has expired
notAfter=Mar 21 23:59:59 2023 GMT
verify return:1
depth=0 C = US, ST = California, L = San Francisco, O = "GitHub, Inc.", CN = *.github.io
notAfter=Mar 21 23:59:59 2023 GMT
verify return:1
---
Certificate chain
0 s:C = US, ST = California, L = San Francisco, O = "GitHub, Inc.", CN = *.github.io
i:C = US, O = DigiCert Inc, CN = DigiCert TLS RSA SHA256 2020 CA1
1 s:C = US, O = DigiCert Inc, CN = DigiCert TLS RSA SHA256 2020 CA1
i:C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert Global Root CA
What are the odds this happens the same day they rotate their SSH keys? $ curl -i -L https://github.com/kyleconroy/sqlc/releases/download/v1.17.0/sqlc_1.17.0_linux_amd64.tar.gz
HTTP/2 302
server: GitHub.com
date: Fri, 24 Mar 2023 20:51:56 GMT
content-type: text/html; charset=utf-8
location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/193160679/09048595-c7f4-45b5-858a-7f55baa2fd7d?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230324%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230324T205156Z&X-Amz-Expires=300&X-Amz-Signature=772d0aa8c5c19b0a5ef84d718d2faf0d81f24b224a4ef634d2410787e8f50bad&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=193160679&response-content-disposition=attachment%3B%20filename%3Dsqlc_1.17.0_linux_amd64.tar.gz&response-content-type=application%2Foctet-stream
curl: (60) SSL certificate problem: certificate has expired
More details here: https://curl.se/docs/sslcerts.html
curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.
> What are the odds this happens the same day they rotate their SSH keys?Definitely a bad for them. When it rains, it pours.
Do you think people architect poorly designed systems more often than not as a means of job security or just a failure to put much forethought in whilst planning it?
I know someone who joined a company and found a dead-man's switch in the server.
He could have taken it out, but instead he just resets it every three months, just like the guy before him.
If the company ever gets rid of him and doesn't hire someone equally skilled and thorough, the production server will eat itself right about the time his unemployment benefits run out.
I'd almost guarantee you're right on the money with that line of thinking…
The only way to do cert renewal at an org level is one well organized team of not creative software types. yeah yeah the team will automate but in the meantime someone has to check all the dates carefully. And usually good public certs can't be fully automated, at least in the deploy bit.
I heard about a new cert once with a longer private key that cauaed all the terminating F5s to fall over due to out of CPU
Like what's going on there?
"Windows Azure Service Disruption from Expired Certificate" (2013) - https://azure.microsoft.com/en-us/blog/windows-azure-service...
curl https://www.githubstatus.com/ -vvvv -I
\* Trying 52.215.192.131:443...
\* Connected to www.githubstatus.com (52.215.192.131) port 443 (#0)
\* ALPN: offers h2
\* ALPN: offers http/1.1
...
\* SSL connection using TLSv1.3 / AEAD-AES256-GCM-SHA384
\* ALPN: server accepted h2
\* Server certificate:
\* subject: CN=apistatus.chorus.co.nz
\* start date: Mar 6 23:10:30 2023 GMT
\* expire date: Jun 4 23:10:29 2023 GMT
\* subjectAltName: host "www.githubstatus.com" matched cert's "www.githubstatus.com"
\* issuer: C=US; O=Let's Encrypt; CN=R3
\* SSL certificate verify ok.
\* Using HTTP2, server supports multiplexingFailing for us in GitHub Actions
For SEO purposes:
npm ERR! code ERR_TLS_CERT_ALTNAME_INVALID
npm ERR! errno ERR_TLS_CERT_ALTNAME_INVALID
npm ERR! request to https://pkg-
npm.githubusercontent.com/npmregistryv2prod/blobs/\*\* failed, reason:
Hostname/IP does not match certificate's altnames: Host: pkg-npm.githubusercontent.com. is not in the cert's altnames: DNS:\*.githubassets.com, DNS:githubassets.comThat’s because they already resolved the issue → https://www.githubstatus.com/incidents/x7njwb481j9b
This is what I saw an hour ago:
$ echo | openssl s_client -connect avatars.githubusercontent.com:443
CONNECTED(00000005)
depth=2 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert Global Root CA
verify return:1
depth=1 C = US, O = DigiCert Inc, CN = DigiCert TLS RSA SHA256 2020 CA1
verify return:1
depth=0 C = US, ST = California, L = San Francisco, O = "GitHub, Inc.", CN = *.github.io
>>> verify error:num=10:certificate has expired
notAfter=Mar 21 23:59:59 2023 GMT
verify return:1
depth=0 C = US, ST = California, L = San Francisco, O = "GitHub, Inc.", CN = *.github.io
notAfter=Mar 21 23:59:59 2023 GMT
verify return:1https://twitter.com/viibeeng/status/1639374358287118336
(*yeah we can all make mistakes, but it's 2023, if you've not build controls into your workflows by now you don't deserve to be a Senior anything)
https://ismycertexpired.com/check?domain=objects.githubuserc...
» TIMEZONE=UTC date; openssl s_client -connect support.github.com:443 2>&1 | grep 'cert.*has.*ex'
Fri Mar 24 17:40:28 EDT 2023
verify error:num=10:certificate has expired
Verify return code: 10 (certificate has expired)
The previous incident seems pretty clearly to be this … so it seems like they think they fixed it…If you do that on Feb 29th of a leap year, it'll throw an exception because the next year doesn't have a Feb 29th! Oops.
They "fixed" it and promptly had another related outage the very next day.
Not After Tue, 21 Mar 2023 23:59:59 GMT
3-day certs.