L’autorité de certification Let’s Encrypt va révoquer dans les prochaines 24 heures, plus de 3 millions de certificats TLS qui pourraient avoir été émis à tort en raison d’un bug dans son logiciel de délivrance de certificats.
Comment savoir si un site est touché ?
Le bug, que Let’s Encrypt a confirmé le 29 février et qui a été corrigé deux heures après sa découverte, a affecté la façon dont son logiciel vérifie la propriété du nom de domaine avant d’émettre de nouveaux certificats TLS.
En conséquence, le bug a donné lieu à une situation où un certificat pourrait être délivré sans une validation adéquate du contrôle du titulaire d’un nom de domaine.
La Certification Authority Authorization (CAA), une politique de sécurité d’Internet, permet aux propriétaires d’un nom de domaine d’indiquer aux autorités de certification (CA) si elles sont autorisées ou non à délivrer des certificats numériques pour leur nom de domaine.
Let’s Encrypt considère que les résultats de validation de domaine ne sont valables que pour une durée de 30 jours à compter du moment de la validation ; après cela il effectue une nouvelle vérification CAA, avant de délivrer le certificat de ce domaine. Le bug, découvert dans le code de Boulder, le logiciel de signature de certificat utilisé par Let’s Encrypt, est le suivant :
« Lorsqu’une demande de certificat contenait N noms de domaine nécessitant une nouvelle vérification CAA, Boulder choisissait un nom de domaine et le vérifiait N fois. » En d’autres termes, lorsque Boulder devait analyser, par exemple, un groupe de 5 noms de domaines nécessitant une nouvelle vérification CAA, il vérifiait un nom de domaine 5 fois au lieu de vérifier chacun des 5 domaines une fois.
Comment ce bug a-t-il émergé ?
La société a indiqué que le bug a été introduit dans le cadre d’une mise à jour en juillet 2019.
Cela signifie que Let’s Encrypt a peut-être émis des certificats qui n’ont pas lieu d’être, ce qui entraîne la révocation de tous les certificats TLS qui ont été touchés par le bug.
L’autorité Let’s Encrypt a annoncé la semaine dernière qu’elle avait délivré son milliardième certificat TLS gratuit depuis son lancement en 2015.
Selon Let’s Encrypt, environ environ 3 048 290 (2.6 %) sur 116 millions de certificats actifs sont touchés, dont environ un million sont des doublons d’autres certificats touchés.
Comment faire face au bug du certificat ?
Les propriétaires des sites internet touchés ont jusqu’à 20 h UTC du mercredi 4 mars 2020 pour renouveler et remplacer manuellement leurs certificats, à défaut de quoi les visiteurs des sites web seront accueillis avec des avertissements de sécurité TLS — car les certificats sont révoqués — jusqu’à ce que le processus de renouvellement soit terminé.
Il convient de noter que les certificats délivrés par Let’s Encrypt sont valides pour une période de 90 jours, et que les clients ACME tels que Certbot sont capables de les renouveler automatiquement.
Mais avec Let’s Encrypt qui a révoqué tous les certificats touchés, les administrateurs de sites internet devront effectuer un renouvellement forcé pour éviter toute interruption.
En plus d’utiliser l’outil checkhost du site unboundtest pour vérifier si un certificat doit être remplacé, Let’s Encrypt a créé une liste téléchargeable des numéros de série touchés, permettant aux abonnés de vérifier si leurs sites web comportent un certificat touché.