Contexte de la compromission
Le 20 octobre 2026, eMudhra a annoncé la fuite de huit certificats intermédiaires dont les clés privées étaient accessibles en ligne. Les clés, générées en avril 2025, présentaient une faiblesse structurelle : les 376 bits supérieurs des clés P‑384 étaient à zéro et l’une d’elles était littéralement la valeur 4. Cette mauvaise génération permettait à un acteur disposant de compétences modérées de créer des certificats de feuille valides et de les faire accepter par tout magasin de confiance contenant la racine eMudhra.
Mécanisme de la faille PKI
Dans le modèle PKI classique, le client possède un magasin de racines (trust anchors). Lors d’une connexion TLS, le serveur envoie une chaîne de certificats allant du certificat de feuille jusqu’à une racine reconnue. Si l’intermédiaire compromis est présent dans la chaîne, la validation aboutit tant que la racine eMudhra figure dans le magasin. Les navigateurs modernes imposent la présence d’un enregistrement dans les logs de transparence des certificats (CT). Aucun enregistrement CT n’existe pour les intermédiaires compromis, ce qui a limité l’impact aux navigateurs (Firefox, Chrome, Edge, Safari). En revanche, les bibliothèques TLS hors‑navigateur ne vérifient pas systématiquement les logs CT, exposant potentiellement les clients qui s’appuient uniquement sur le magasin de racines.
openssl s_client -showcerts -verify 5 -connect danielmangum.com:443Contraintes des MCU et impact limité
Les microcontrôleurs (MCU) destinés à l’IoT disposent généralement de moins d’un mégaoctet de stockage non volatile. L’inclusion d’un bundle complet de certificats X.509, qui peut atteindre plusieurs dizaines de kilooctets, est donc prohibitive. Les projets MCU privilégient souvent une racine unique pré‑installée ou un certificat de feuille statique signé par une autorité interne, évitant ainsi la dépendance aux intermédiaires publics. De plus, la plupart des firmwares MCU ne supportent pas la mise à jour OTA, ce qui empêche l’ajout post‑déploiement d’un intermédiaire compromis. En conséquence, même si un attaquant pouvait émettre un certificat de feuille via un intermédiaire eMudhra, le MCU ne le présenterait pas comme partie d’une chaîne valide.
Réponses de l’écosystème et bonnes pratiques
Après la divulgation, les mainteneurs de bibliothèques TLS (mbedTLS, wolfSSL, OpenSSL) ont publié des filtres pour rejeter les intermédiaires eMudhra ou pour désactiver la racine eMudhra. Les systèmes d’exploitation embarqués ont mis à jour leurs paquets de confiance. Pour les développeurs MCU, la recommandation consiste à limiter le nombre de racines à celles strictement nécessaires, à vérifier la présence de CT lorsqu’elle est disponible et à envisager la rotation de certificats via des mécanismes de provisioning sécurisés. Ces mesures réduisent le vecteur d’attaque lié à une compromission de CA intermédiaire.