KSAVE ← Back to ksave.co.uk
Certificate authorities

The eMudhra CA leak: is your browser still trusting a broken key?

Eight private keys held by an Indian certificate authority were weak enough to guess. One of them was the number 4. Three weeks later, browsers are patched — but a lot of software is not. This page checks the client you are using right now.

Published 5 November 2026 · KSAVE LTD · 8 min read

What happened

On 17 October 2026, a researcher writing under the name "Wayne" emailed Apple, Google, Microsoft and Mozilla with eight private keys. They belonged to intermediate certificate authorities operated by eMudhra, a Bengaluru-based company that sells TLS certificates under the emSign brand and is one of the few Indian CAs whose roots are trusted globally.

An intermediate CA is the layer that actually signs the certificates websites present. Anyone holding its private key can mint a valid certificate for any domain on the internet — a bank, a mail provider, this site — and any client that trusts that CA will accept the forgery without a warning.

The keys had not been stolen. They had been generated badly. A NIST P-384 private key should be a random integer of roughly 116 digits. These were single-byte values instead:

4   56   66   115   155   156   230   237

Scott Helme recovered all eight from the public certificates in under a second. The certificates were created during a key ceremony on 30 April 2025. The flaw survived eighteen months and two independent audits before anyone noticed.

Date (UTC)Event
Key ceremony produces 24 intermediates. Eight of them receive weak keys.
Report reaches the root programs. Chrome begins verifying.
Chrome blocks the six TLS intermediates via CRLSet — no restart required.
Mozilla's OneCRL block reaches ordinary Firefox users.
eMudhra revokes all eight. Sectigo revokes the cross-signed copies.
Apple ships blocks for Safari and iOS.
Microsoft blocks the certificates. Mozilla removes emSign ECC Root CA - G3 entirely.
CERT-In publishes advisory CIAD-2026-0050.
Chrome Root Store removes the root.
Google sets a cut-off: certificates under that root whose earliest SCT is after 16 November 2026 are no longer trusted by default in Chrome 153+.

Why this one is worse than a normal breach

A stolen password can be changed. A stolen CA key cannot be "un-guessed". The only fixes are revocation — telling every client to stop trusting the certificate — and removing the root from the trust store. Revocation works only for clients that check it, and removal works only for clients that get the update.

That gap is the whole story. Chrome, Firefox, Safari and Edge check revocation data on their own schedule and were protected within hours. Many other programs have no such channel. They ship a copy of the CA bundle at build time and keep trusting it until someone rebuilds them.

There is no public evidence that these keys were used to attack anyone. Chrome and Mozilla both confirmed that no certificate chaining to the six TLS intermediates had been logged to Certificate Transparency before the block. The risk is real; the exploitation is not confirmed.

Who is still exposed

Three weeks after the report, the picture is uneven by design:

The public checker run by the researcher's project still recorded 277,806 successful connections in a 24-hour window at the time of writing. Most of that traffic is automated scanners and command-line tools, not people — but it shows the shape of the problem. Revocation is a browser feature in practice.

Does your client still trust it?

The test below uses fourteen real endpoints whose certificates are signed by the compromised intermediates. Nothing is simulated. If your client connects, it still trusts a CA whose private key is public knowledge.

Client trust check

Runs entirely in your browser. Nothing about you is sent to KSAVE. The test endpoints are operated by the public we-have-a-problem.com project and record anonymous user-agent counts.

eMudhra chain6 DV / OV / EV TLS intermediates
not run
Sectigo cross-signsthe same keys under AAA Certificate Services
not run
No Certificate Transparency2 hosts with unlogged certificates
not run
Controlthis site's own certificate
not run
Show each endpoint

How to read the result

The No Certificate Transparency row deserves its own line. Chrome, Firefox, Safari and Edge require publicly trusted certificates to be logged to Certificate Transparency, so they reject those two hosts even if they still trusted the CA. A client that connects to them both trusts the compromised keys and skips CT — which is exactly the combination that lets a forged certificate pass unnoticed. Most non-browser clients behave this way.

If you are behind a proxy that intercepts TLS, the result describes the proxy's trust store, not your browser's. A "connected" verdict there means every client behind that proxy is exposed until it is updated.

What to do

Everyone

If you run servers or build software

If you use Incog

Incog renders with GeckoView, so it inherits Mozilla's revocation list and its CT enforcement, including the root removal in NSS 3.131.1. The check above is worth running anyway: it tests the whole path — your network, any proxy in front of it, and the device — rather than just the engine.

Sources