Let’s Encrypt discovers CAA bug

Let’s Encrypt discovers CAA bug, must revoke customer certificates

Let's Encrypt discovered a bug in its CAA (Certification Authority Authorization) code.
Let's Encrypt uses Certificate Authority software called Boulder. Typically, a Web server that services many separate domain names and uses Let's Encrypt to secure them receives a single LE certificate that covers all domain names used by the server rather than a separate cert for each individual domain.
The bug LE discovered is that, rather than checking each domain name separately for valid CAA records authorizing that domain to be renewed by that server, Boulder would check a single one of the domains on that server n times (where n is the number of LE-serviced domains on that server). Let's Encrypt typically considers domain validation results good for 30 days from the time of validation—but CAA records specifically must be checked no more than eight hours prior to certificate issuance.
The upshot is that a 30-day window is presented in which certificates might be issued to a particular Web server by Let's Encrypt despite the presence of CAA records in DNS that would prohibit that issuance.
Since Let's Encrypt finds itself in the unenviable position of possibly having issued certificates that it should not have, it is revoking all current certificates that might not have had proper CAA record checking on Wednesday, March 4. Users whose certificates are scheduled to be revoked will need to manually force-renewal before then.
If an admin does not perform this manual renewal step, browsers reaching their websites will show TLS security warnings due to the revoked certificates. Let's Encrypt certificates are issued for 90-day intervals, and Certbot automatically renews them only when 30 days or less are left on the cert—so this could mean roughly two months of browser errors if the manual forced renewal isn't performed.
There are many, many ACME clients, and their procedures vary—but if you're using Certbot, all that's necessary is certbot renew –force-renewal once on the command line. Happily, it's a simple process—as the redacted shell session below demonstrates.
me@system76-pc:~$ ssh root@web.redacted.net
root@web.redacted.net's password:
root@web:~# certbot renew –force-renewal
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Processing /etc/letsencrypt/renewal/web.redacted.net.conf
Plugins selected: Authenticator apache, Installer apache
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for dev.redacted0.org
http-01 challenge for redacted0.org
http-01 challenge for redacted1.com
http-01 challenge for redacted2.net
http-01 challenge for redacted3.com
http-01 challenge for redacted4.com
http-01 challenge for redacted5.com
http-01 challenge for old.redacted0.org
http-01 challenge for redacted6.com
http-01 challenge for web.redacted.net
http-01 challenge for www.dev.redacted0.org
http-01 challenge for www.redacted0.org
http-01 challenge for www.redacted1.com
http-01 challenge for www.redacted.net
http-01 challenge for www.redacted3.com
http-01 challenge for www.redacted4.com
http-01 challenge for www.redacted5.com
http-01 challenge for www.redacted6.com
Waiting for verification…
Cleaning up challenges
new certificate deployed with reload of apache server; fullchain is
Congratulations, all renewals succeeded. The following certs have been renewed:
/etc/letsencrypt/live/web.redacted.net/fullchain.pem (success)

More Articles:

Brandon Williams Arizona Cardinals Pro Line Youth Player Jersey – Cardinal Review

Mason Cole Arizona Cardinals NFL Pro Line Youth Primary Player Jersey – Cardinal Review

Donovan Olumba Dallas Cowboys NFL Pro Line Player Jersey – Navy Review

wp rocket
Rick Touchstone

About the Author

Rick Touchstone