Mozilla fournit des détails techniques sur le problème de certificat qui a bloqué la plupart des extensions dans Firefox.

Que s’est-il vraiment passé la semaine dernière avec Firefox ?

Mozilla vient d’apporter des détails techniques sur le bug qui a touché des millions d’utilisateurs, les empêchant d’utiliser des extensions et d’en installer de nouvelles.

La fondation avait déjà expliqué la source du problème : l’expiration d’un certificat.

On en sait désormais plus sur la nature dudit certificat et sur son rôle dans le dispositif destiné à éviter la propagation d’extensions malveillantes.

Tout au début de cette chaîne – schématisée ci-contre – se trouve un certificat racine (root). Conservé hors ligne sur un appareil cryptographique, il est utilisé pour signer un autre certificat dit « intermédiaire ». Lequel est à son tour utilisé pour signer des certificats temporaires créés pour chaque validation d’extension.

C’est ce certificat intermédiaire qui a expiré, le samedi 4 mai à 1 h du matin (UTC, heure de Londres). Ainsi le fonctionnement des extensions validées par ce biais a-t-il stoppé.

Les utilisateurs ne s’en sont pas forcément rendu compte tout de suite, Firefox ne procédant à un contrôle des extensions qu’environ une fois toutes les 24 heures.

Le canal Studies

Le problème porté à sa connaissance, Mozilla a pris deux mesures : désactiver la signature de nouvelles extensions et diffuser un correctif pour empêcher le navigateur de contrôler les extensions déjà installées.

Dès lors s’est posée la question de créer un nouveau certificat intermédiaire et de l’utiliser pour signer à nouveau l’ensemble des extensions. Mais il était, selon Mozilla, impensable d’effectuer une telle action massive (le catalogue comprend « plus de 15 000 extensions »). Les utilisateurs auraient, par ailleurs, dû mettre eux-mêmes à jour toutes les extensions installées depuis d’autres sources que les serveurs de Mozilla.

Pour valider une extension, Firefox tente de reconstituer la chaîne de signature. Il est capable, dans ce cadre, d’exploiter tout certificat présent dans sa base. Mozilla a donc pu en injecter par le biais de l’outil Studies, activé par défaut et normalement utilisé pour tester des fonctionnalités avant leur déploiement à grande échelle.

Le certificat n’est pas parvenu à tous les utilisateurs. En premier lieu à ceux qui ont désactivé Studies ou la télémétrie. Mais aussi ceux qui se trouvent derrière des proxys et à ceux qui utilisent des versions trop anciennes du navigateur.

Sur Firefox ESR (Extended Support Release, qui vise les entreprises avec un support étendu) et Firefox pour Android, la diffusion du correctif se fait par l’intermédiaire d’une mise à jour.

Mozilla promet de supprimer les données collectées depuis le 4 mai via son service de télémétrie. Et affirme songer permettre aux utilisateurs d’accepter automatiquement les correctifs tout en refusant le reste.

Photo d’illustration © Johnath via VisualHunt / CC BY-SA