Un bug conduit Let's Encrypt à révoquer 3 millions de certificats

Par:
fredericmazue

mer, 04/03/2020 - 17:28

Let's Encrypt est une autorité de certification très appréciée pour deux raisons : les certificats qu'elle délivre sont gratuits, et elle fournit des outils pour installer ceux-ci sur les serveurs. Le projet Let's Encrypt est un énorme succès, et l'organisation a récemment émis son milliardième certificat depuis son lancement en 2015. Malheureusement le succès n'empêche pas les problèmes.

En plus des mails d'information envoyés aux administrateurs concernés, Let's Encrypt a publié un billet faisant part d'un bug qui l'a conduit a révoquer 3 millions de certificats, soit environ 2,6% des certificats actifs.

Le bug se situe dans l'implémentation de la spécification CAA (Certificate Authority Authorization) à l'intérieur de Boulder, le logiciel que Let's Encrypt utilise pour vérifier les utilisateurs et leurs domaines avant d'émettre un certificat.

CAA est une norme de sécurité qui permet aux propriétaires de domaines d'empêcher les autorités de certification d'émettre des certificats pour leurs domaines. Concrètement les propriétaires de domaines peuvent ajouter un champ "CAA" dans leurs zones DNS à la suite de quoi seule l'autorité de certification figurant dans le champ CAA peut délivrer un certificat pour ce domaine.

Let's Encrypt décrit ainsi le bug dans le billet mentionné plus haut : lorsqu'une demande de certificat contenait x noms de domaine qui devaient être vérifiés par la CAA, Boulder sélectionnait un nom de domaine et le vérifiait x fois. Ce qui signifie en pratique que si un abonné validait un nom de domaine à un moment x, et que les données de la CAA permettaient l'émission du cerificat Let's Encrypt, alors l'abonné pouvait émettre un certificat avec ce nom de domaine jusqu'à 30 jours après, même si dans ce laps de temps quelqu'un d'autre installait sur ce nom de domaine des données de la CAA interdisant l'émission du certificat Let's Encrypt.

Par sécurité Let's Encrypt a révoqué tous les certificats concerné par ce bug qui apparemment n'a pas été exploité. Pour ne pas se retrouver avec des sites signalés comme dangereux par les navigateurs, les administrateurs doivent regénérer leurs certificats. Les administrateurs concernés ont reçu un mail de Let's Encrypt qui énumère les domaines concernés le cas échéant. Les administrateurs qui ne sont pas concernés n'ont pas besoin de regénérer leurs certificats.

Les administrateurs qui ont plusieurs centaines de certificat à regénérer apprécieront de se rappeler qu'une commande permet de les traiter tous en une fois :

certbot renew --force-renewal

(ou certbot-auto renew --force-renewal)

Let's Encrypt a également publié une FAQ.