Forum Moderators: phranque

Message Too Old, No Replies

Let's Encrypt revoking Certificates due to Bug

         

lammert

10:09 am on Mar 3, 2020 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



Just a few minutes ago received an email that I had to replace some of my certificates due to a bug Let's Encrypt found. They will revoke the certificates on March 4, 2020. Just wondering how many of their one billion certificates were affected by this problem.

CAA Rechecking Bug incident [community.letsencrypt.org]

Dimitri

12:08 pm on Mar 3, 2020 (gmt 0)

WebmasterWorld Senior Member 5+ Year Member Top Contributors Of The Month



This might cause an issue, because, lot of people are using Let's encrypt automatically, with a batch script renewing the cert, and "forget about it". So, it's possible that lot of people are not checking the notification, and will wake up tomorrow , with their site reporting an error message.

topr8

12:44 pm on Mar 3, 2020 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



thanks for the heads up - i just ran my cron job manually, but none of my certs are due for renewal yet, all have more than 30 days to go - so i'll try it again next month manually to see if there are any error messages.

lammert

1:27 pm on Mar 3, 2020 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



It seems the bug affected only those certificates for which the domain owner has added a CAA record to the DNS of the domain. This is a record that lists the certificate-authorities authorized to issue certificates for that specific domain.

Dimitri

7:06 pm on Mar 3, 2020 (gmt 0)

WebmasterWorld Senior Member 5+ Year Member Top Contributors Of The Month



thanks for the heads up - i just ran my cron job manually, but none of my certs are due for renewal yet, all have more than 30 days to go - so i'll try it again next month manually to see if there are any error messages.

This should be your cron script which is preventing you from renewing your cert, because Let's encrypt lets you renew it anytime. You can even renew it several times per days (but there is a limit to the number of requests per 7 days, if I remember).

topr8

7:31 pm on Mar 3, 2020 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



... the script i run (by cron) is: certbot-auto renew

it checks all the certificates on the server and says how long they have left, if one has less than 30 days it renews it.

lammert

8:24 am on Mar 4, 2020 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



Auto-renewing doesn't help in this case. The certbot renew command only checks the validity date of the certificate, not if it will be revoked soon. According to Let's Encrypt's instructions, you have to manually update the certificates with the --force-renewal option.

They also created a file with all the affected certificate serial numbers on their incident page [letsencrypt.org].

The text file is a whopping 1.2 Gigabytes and contains 3 million serial numbers. That is a little bit less than 3% of the total active Let's Encrypt certificate in the field. Many certificates list multiple domain names, so the number of affected domains is even higher than 3 million. That is a significant portion of the web.

The file contains all the domain names of affected sites. I am not sure if this was the wisest move of an organization which was started to increase privacy on the web. They now--without consent of the site owners--expose deliberately at least 3 million websites with a broken security certificate. And they do this after they sent a 24-hour notice of certificate take-down for a bug which has been in the source code of their system since July 25th, 2019. Yes, that is more than half a year ago. With an average renewal cycle of 2 months, more than three generations of certificates have passed since the bug was introduced. If they just had fixed the bug silently and waited another two months, all bogus certificates would have been replaced anyway without the larger community ever knowing. Because the primary reason for the fast recycle time of Let's Encrypt certificates was just that: to have a mechanism to remove wrong certificates in an expedited way.

Besides their small engineering team of just a dozen people, they need someone with experience in public relations and crisis management for this type of disasters IMHO.

topr8

9:33 am on Mar 4, 2020 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



ah, thanks lammert.

i did as you suggested just to be sure, although i hadn't added a CAA record on any of mine - however, this bug aside, would you say that was a good thing to do? adding a CAA record does appear to add an extra layer of security.

also there is a domain checking tool here: [checkhost.unboundtest.com...] where you can check your hostnames one by one manually.

Dimitri

9:50 am on Mar 4, 2020 (gmt 0)

WebmasterWorld Senior Member 5+ Year Member Top Contributors Of The Month



I get the notification email, just one hour ago. Very short timing. #panicmode

engine

10:45 am on Mar 4, 2020 (gmt 0)

WebmasterWorld Administrator 10+ Year Member Top Contributors Of The Month



Mainstream media has now picked up on this news [zdnet.com...]

lammert

4:55 pm on Mar 7, 2020 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



1.7 million certificates have been renewed by users, but the remainder of one million certificates will probably not be replaced by their respective site owners. Therefore Let's Encrypt decided to break with industry rules and only revoke the certificates which they are certain to have been replaced, combined with a handful of certificates which shouldn't have been issued because the DNS CAA record at the time of the bug didn't allow Let's Encrypt to issue them anyway.

According to ISRG Executive Director Josh Aas [community.letsencrypt.org]
Unfortunately, we believe it’s likely that more than 1 million certificates will not be replaced before the compliance deadline for revocation is upon us at 2020-03-05 03:00 UTC (9pm U.S. ET tonight). Rather than potentially break so many sites and cause concern for their visitors, we have determined that it is in the best interest of the health of the Internet for us to not revoke those certificates by the deadline.

Dimitri

9:48 am on Mar 8, 2020 (gmt 0)

WebmasterWorld Senior Member 5+ Year Member Top Contributors Of The Month



See the point of the 3 months renewal makes that , at worse, something can be messed up for 3 months, not more.