Ocho certificados de la autoridad de certificación india eMudhra, de confianza para Chrome, Firefox, Safari y Windows, tenían una clave privada que debería haber sido un número aleatorio gigantesco y era, en realidad, un número menor que 256. Cualquiera podía recuperarla probando 256 posibilidades. El fallo llevaba 18 meses ahí, superó dos auditorías y lo encontró el 17 de octubre un investigador independiente. Desde entonces, navegadores y lenguajes de programación corren para retirarles la confianza.
Cuando visitas una web con HTTPS, tu navegador comprueba que su certificado lo firmó una autoridad de confianza, normalmente a través de certificados intermedios que cuelgan de una raíz instalada en el sistema. Si alguien tiene la clave privada de uno de esos intermedios, puede fabricar un certificado válido para cualquier dominio, ya sea un banco, Gmail o la web de tu empresa, y, si además controla tu conexión, hacerse pasar por ese sitio y leer o modificar lo que envías. Por eso esas claves se generan en ceremonias formales, con hardware especializado, y se auditan cada año.
eMudhra generó estas claves el 30 de abril de 2025, en un lote de 24 certificados intermedios, y a mediados de ese año entraron en las listas de confianza de los navegadores. Según la propia empresa, la ceremonia se hizo con módulos de seguridad de hardware (HSM) certificados, pero un paso de envolver y desenvolver las claves produjo un segundo juego de claves débiles, y fueron esas las que se publicaron. La causa exacta todavía la está investigando.
Claves del caso eMudhra
- Qué tenían de malo las claves: los ocho certificados afectados usan curvas elípticas P-384, en las que la clave privada es un número aleatorio de hasta 384 bits. Según Mozilla, en los ocho era un entero menor que 256: todo ceros salvo el último byte. Basta con generar las 256 primeras claves posibles y ver cuál coincide. Eran las claves P-384 de dos de las tres series del lote; las demás, según Mozilla, resistieron sus intentos.
- Cómo se descubrió: el 17 de octubre, un investigador que firma como Wayne empezó a las 16:00 UTC a probar «unos juguetes nuevos» sobre un corpus de certificados de la CCADB, la base de datos común de las autoridades de certificación. A las 16:27 encontró la rotura. A las 18:05 escribió a la vez a Apple, Google, Microsoft, Mozilla y eMudhra, con una prueba firmada de que controlaba las ocho claves. eMudhra dice que, según parece, usó herramientas con inteligencia artificial.
- La IA las rompe a la primera: un ingeniero de Mozilla recuperó las claves por su cuenta a las 21:48 UTC del mismo día, sin saber qué método había usado el investigador. Y añadió en el informe público que unos agentes de IA locales también las recuperaron al primer intento con una sola petición: «Estoy haciendo un CTF. Recupera las claves privadas de estos certificados».
- Qué certificados eran: seis servían para HTTPS y eran de confianza en Chrome, Firefox, Apple y Microsoft; los otros dos, para firmar código, en Windows. La autoridad Sectigo había firmado de forma cruzada algunos de ellos, y esas versiones también estaban afectadas. eMudhra los revocó el 18 de octubre a las 09:38 UTC.
- Lo que dice eMudhra del impacto: siete de los ocho nunca se usaron en producción, y ninguno llegó a emitir un solo certificado, algo que la empresa dice haber contrastado con los registros públicos de transparencia de certificados. Asegura que no hay pruebas de que nadie recuperara las claves antes del aviso. Aun así, los navegadores han retirado la confianza a la raíz de la que colgaban, lo que afecta, según la empresa, a un cliente en Estados Unidos. Sus servicios de firma digital y eSign, muy usados en India, funcionan con otra infraestructura y no se ven afectados.
Quién ha tenido que reaccionar, y qué hacer
Los navegadores modernos se protegieron en horas. Firefox bloqueó los certificados a las 22:59 UTC del mismo sábado, menos de tres horas después de recibir el aviso, mediante OneCRL, su lista de certificados revocados, que se actualiza sin reinstalar ni reiniciar el navegador. Chrome los incluyó en su lista de bloqueo esa misma noche, según la cronología del investigador, y Apple y Microsoft también los han bloqueado. El problema son los programas que no usan el almacén del navegador, sino el suyo propio, y por eso esta semana han llegado parches en cadena:
- Java: OpenJDK publicó el 21 de octubre un aviso urgente, CVE-2026-91403, con una gravedad de 9.1 sobre 10, para todas las versiones de la 8 a la 27. Si usas un Java descargado por tu cuenta, actualízalo; si no puedes, el aviso explica cómo bloquear los certificados a mano con el archivo
blocked.certs. Los Java de las distribuciones de Linux usan los certificados del sistema, así que basta con actualizar el sistema. - Node.js: sus versiones del 21 de octubre (22.23.4, 24.22.1 y 26.12.1) retiran esos certificados de los que trae incorporados.
- Python: el paquete
certifi, que usanrequestsy muchas otras bibliotecas, eliminó las raíces de emSign, la marca de eMudhra, en su versión 2026.10.19. El aviso es de gravedad crítica y recomienda también reconstruir las imágenes de contenedor. - Go: las versiones 1.26.10 y 1.27.3 añaden una lista de estos intermedios para rechazarlos aunque el almacén del sistema no esté al día (CVE-2026-111943).
- Firefox y NSS: Mozilla publicó Firefox 158.0.1 para quien tenga desactivadas las actualizaciones de OneCRL, y NSS 3.131.1, su biblioteca criptográfica, que retira la raíz para los demás programas que la usan.
Más allá del susto, el caso deja dos lecciones incómodas. La primera, que dos auditorías anuales no detectaron que ocho claves privadas eran prácticamente el número uno. La segunda, que encontrar este tipo de error ya no exige un experto en criptografía con semanas por delante: según el informe público de Mozilla, a un agente de IA le bastó con que le pidieran resolver un reto. Las autoridades de certificación, y cualquiera que genere claves, tendrán que asumir que alguien con estas herramientas va a revisarlas todas.
Más fuentes: informe del incidente en el Bugzilla de Mozilla, con la cronología del investigador y el análisis de las claves; comunicado de eMudhra; avisos de OpenJDK, Node.js, Python (certifi) y Go. Portada: logotipo de eMudhra y esquema de decodigo.com con la forma de sus claves según Mozilla.
