Certificate authorities are one of those pieces of infrastructure most developers rarely think about until something goes wrong.
We trust browsers and operating systems to maintain a collection of trusted root certificates. Those roots establish trust for intermediate certificate authorities, which in turn issue certificates used by websites and services.
It is a hierarchy that works quietly in the background.
The October 2026 eMudhra incident is a useful reminder of what happens when something goes wrong inside that hierarchy — and why fixing the original vulnerability isn't always the end of the problem.
What happened?
On October 17, 2026, a security researcher reported that eight eMudhra intermediate CA certificates had been generated using insufficient cryptographic randomness.
The important detail is that these weren't conventional stolen private keys.
According to CERT-In, the affected P-384 private key values were smaller than 256. This meant their corresponding public keys could be used to recover the private values almost instantly.
In other words, the weakness was in key generation, not in the underlying elliptic-curve cryptographic algorithm.
eMudhra subsequently explained that a key wrap/unwrap operation during an April 2025 key-generation ceremony had produced a second, weak set of keys alongside the intended strong keys. The weak set was the one that eventually reached browser root stores.
The exact underlying process failure remains subject to further investigation.
The response was relatively fast
The timeline is worth looking at because certificate revocation is not a single operation.
Chrome received the report at 18:05 UTC on October 17 and corroborated the finding at 19:45 UTC.
That is 100 minutes from report to Chrome's block.
Mozilla received the report at 20:06 UTC. Its OneCRL update reached users with standard configurations by 22:59 UTC.
eMudhra revoked all eight affected intermediates on October 18.
There is another important detail: according to eMudhra, seven of the eight intermediates had never been used in production, and the one that had been used had not issued any certificates.
This meant the immediate revocation of those eight intermediates did not invalidate customer certificates issued by them.
But that wasn't the end of the incident.
Why removing the root certificate was a bigger problem
This is where the incident becomes particularly interesting from an infrastructure perspective.
There are two different ways to respond to a compromised or defective certificate hierarchy:
- Block the specific affected intermediate certificates or public keys.
- Remove the root certificate that establishes trust for the entire hierarchy.
The first approach is targeted.
The second has a much wider impact.
Google announced the removal of eMudhra's emSign ECC Root CA - G3 from the Chrome Root Store.
That decision wasn't limited to the eight affected intermediates.
Any certificate chain ending at that root could potentially be affected, including legitimate certificates issued through other intermediates.
eMudhra subsequently reported that approximately 30,800 certificates in a US client ecosystem were issued under the affected G3 hierarchies.
The company said this ecosystem already had an alternative issuance path through its G1 RSA root and was using that path for migration.
One distinction matters here: those approximately 30,800 certificates should not be described as certificates issued by the eight weak intermediates. eMudhra said those eight had issued no end-entity certificates. The wider certificate population is associated with the root hierarchy, and the precise intermediate-to-certificate mapping has not been published.
This is the difference between fixing a compromised signing path and withdrawing trust from an entire trust anchor.
The part I find most interesting: the audit gap
The affected intermediates were created on April 30, 2025.
The vulnerability was reported in October 2026.
During that period, the hierarchy had been included in browser trust lists and had passed two independent audit cycles.
Yet an external researcher was able to identify the weakness using the published certificates.
That raises a question worth asking in any security-sensitive engineering environment:
Are we validating the process, or are we validating the actual artifact produced by that process?
A documented key-generation ceremony can look correct. Hardware security modules can be present. Witnesses can be involved. Audit records can be complete.
None of those things independently proves that the resulting public key has the expected cryptographic properties.
The published key itself is what ultimately matters.
This is not specific to certificate authorities. The same principle applies to signing keys, encryption keys, generated tokens, and other security-critical material.
A few engineering lessons
There are several practical lessons here.
1. Validate generated cryptographic material.
Don't rely exclusively on the procedure used to generate a key. Validate the resulting artifact against the expected cryptographic properties.
2. Treat backup and recovery paths as production security boundaries.
eMudhra's account points to a key wrap/unwrap step as part of the failure. A recovery or transfer mechanism can influence production key material. It deserves the same scrutiny as the primary signing path.
3. Understand the difference between revocation and distrust.
Blocking a particular intermediate is not equivalent to removing its root. The latter can affect legitimate certificates that have nothing to do with the original defective keys.
4. Maintain alternative issuance paths.
eMudhra's existing G1 RSA issuance path became important during the migration. Redundant certificate issuance is not just an availability feature; it can become an essential part of incident recovery.
5. Verify that security updates actually reach clients.
Chrome, Firefox, Android, NSS-based applications, operating-system trust stores and pinned clients do not necessarily receive or apply trust updates through the same mechanism.
A published security update is not proof that every dependent client has applied it.
Final thoughts
I don't think the most useful takeaway from this incident is simply that a certificate authority generated weak keys.
The more interesting engineering problem is the distance between a security control existing on paper and that control producing the expected result.
The affected intermediates were revoked quickly. Browser vendors responded within hours. But the broader root-trust decision created a migration problem for a much larger certificate population.
That is an important distinction when evaluating security incidents: the scope of the original defect and the scope of the remediation are not necessarily the same.
The full incident analysis, including the source timeline, certificate hierarchy, trust-store behaviour, count discrepancies and unresolved questions, is available here:
Why Browsers Stopped Trusting eMudhra's Root — BuildOpsy
I think this is a useful case study for anyone working on PKI, cryptographic infrastructure, security engineering or systems that depend on externally maintained trust stores.

