Lors de l'envoi d'une liste de diffusion, Let's Encrypt a malencontreusement ajouté automatiquement des adresses de ses clients dans son message (jusqu'à 7 617 tout de même). En cause, un « bug » sur un logiciel utilisé pour la première fois.
Depuis le lancement de la bêta en décembre de l'année dernière, Let's Encrypt rencontre un beau succès. Le service propose pour rappel des certificats SSL gratuitement à ceux qui en font la demande (voir notre analyse). Il est notamment disponible chez Infomaniak, Gandi et OVH, sur le DSM 6.0 de Synology, sur les blogs de Blogger, etc. Depuis le mois d'avril, le projet est même sorti de bêta et a trouvé de nouveaux sponsors de taille.
Quand des adresses email sont automatiquement ajoutées
Bref, tout se déroule bien pour Let's Encrypt, mais un rouage s'est récemment grippé dans cette mécanique bien huilée : une fuite de 7 617 emails de ses utilisateurs. Il ne s'agit pas du résultat d'une attaque contre ses serveurs, mais d'un « bug » lors de l'envoi d'une liste de diffusion.
L'équipe s'explique : « Le 11 juin 2016, nous avons commencé à envoyer un email à tous nos abonnés actifs qui nous ont donné une adresse afin de les informer d'une mise à jour sur notre contrat d'abonnement. Cela a été fait par le biais d'un système automatisé qui contenait un bug qui, par erreur, a ajouté entre 0 et 7 617 autres adresses emails dans le corps du message. Conséquence, les destinataires pouvaient voir des adresses email des autres utilisateurs ».
En 68 minutes : problème détecté, envoi stoppé et publication d'un communiqué
Elle ajoute que « le problème a été détecté et le système arrêté après que 7 618 emails sur environ 383 000 (1,9 %) ont été envoyés. Chaque correspondance contenait par erreur les adresses email des destinataires précédents ». Le premier email ne comportait donc aucune fuite, tandis que le deuxième affichait l'email du premier, le troisième celui des deux premiers... et le 7 618e comportait les adresses des 7 617 précédents destinataires. L'hémorragie s'est arrêtée là puisque l'envoi a été stoppé.
Let's Encrpyt explique que la campagne d'information a été lancée le 11 juin à 3h47 et que le premier rapport signalant un problème a été reçu à 4h20. L'envoi des emails a été arrêté 9 minutes plus tard (4h29) et le premier rapport préliminaire a été rendu public à 5h28, soit un peu plus d'une heure après la réception du rapport d'incident.
Des mesures pour éviter que cela ne se reproduise
Let's Encrypt indique que le bug se situe dans un bout de code qui a été utilisé pour la première fois lors de cette campagne. Il avait été testé et examiné, mais visiblement c'était loin d'être suffisant. Le manque de test est d'ailleurs considéré comme étant la cause première du bug par Let's Encrypt. On se demande tout de même comment un « bug » aussi gros a pu passer à travers des mailles du filet, fussent-elles peu resserrées.
Bien évidemment, l'équipe s'excuse pour « cette erreur » et annonce que des mesures ont été prises afin d'éviter que cela ne se reproduise. Ainsi, les logiciels permettant de diffuser en masse des emails seront désormais testés avec autant de rigueur que ceux ayant trait à la gestion des certificats.