Let’s Encrypt will revoke more than 3 million certificates on March 4th, due to a bug in their domain validation and issuance software.
Let’s Encrypt’s certificate authority (CA) software contained a bug which caused some certificates to not be properly validated through Certificate Authority Authorization (CAA) configured for an associated domain.
CAA is a security feature that lets the domain administrators to create a DNS record that restricts the certificate authorities that are allowed to issue certificates for that particular domain.
The authorities must check CAA records at most 8 hours before a certificate is issued.
Due to the bug in the CA software, called Boulder, a domain on a multi-domain certificate had to be checked numerous times rather than all the domains on the certificate being checked once. So, the certificates were issued without the proper CAA checks for some domains.
The incident report by Let’s Encrypt’s reads as “The bug: when a certificate request contained N domain names that needed CAA rechecking, Boulder would pick one domain name and check it N times. What this means in practice is that if a subscriber validated a domain name at time X, and the CAA records for that domain at time X allowed Let’s Encrypt issuance, that subscriber would be able to issue a certificate containing that domain name until X+30 days, even if someone later installed CAA records on that domain name that prohibit issuance by Let’s Encrypt.”
As a result of this Let’s Encrypt will be revoking 3,048,289 currently-valid certificates, which is 2.6% of their total 116 million active certificates.
All the affected users are emailed by Let’s Encrypt and they must renew their certificates by tomorrow before they can become invalid.
To check if your domain is affected by this bug and needs to be renewed, you can use the tool at https://checkhost.unboundtest.com/.
Enter your domain name and the page lets you know if you are affected or not. Those who are affected will be shown a message similar to the one below:
“The certificate currently available on [hostname] needs renewal because it is affected by the Let’s Encrypt CAA rechecking problem. Its serial number is [serial number]. See your ACME client documentation for instructions on how to renew a certificate.”
The affected users are recommended by Let’s Encrypt to refer the help document in their website.