The widely used certificate authority Let's Encrypt is revoking three million certificates because of a discovered bug. Is yours among them?
Let's Encrypt is now the world's most widely used certificate authority. Unfortunately, it is not immune to security problems. Its certificate-issuing software, Boulder, contained a security bug that caused incorrect checks of CAA records in DNS.
These records let domain operators specify which authority may issue trusted certificates for their domain. Under the current rules, these records are valid for eight hours. If the authority has cached CAA information for longer, it must check the record again at the next validation request.
Let's Encrypt also keeps a list of domains validated for each account. This list is valid for 30 days, and if a user requests a certificate within that time, they receive one. But because of the rule above, the CAA record is checked again before issuance to confirm that it still points to the correct authority.
However, when a request validated multiple domains, the authority's software incorrectly checked only the first domain's CAA record. Instead of checking ten domains in sequence, it checked the first one ten times. The bug entered the code on 25 July 2019, so there is a risk that certificates were issued for some domain names without authorization.
The bug was fixed two hours after it was reported, on 29 February 2020. But 3 048 289 potentially misissued certificates remain. That is about 2.6% of the 116 million certificates currently valid. All these certificates will be revoked during 4 March, so browsers may start rejecting them as invalid.
Let's Encrypt has released a web tool where you can enter a domain and check whether its certificate is affected. Michal Špaček has published a list on GitHub of around 23 thousand Czech domains. Some belong to our members, so please check whether you need to generate new certificates for any of your domains.
Děkuji za velmi podrobný a důkladně zpracovaný článek