A Certificate Authority Left Its Keys in the Door: The eMudhra Compromise
Listen to this article · 11 min
On this page 9 sections
Updated 27 October 2026
Chrome stopped trusting the eMudhra root on 27 October, and eMudhra says it will leave the website certificate business. People have also logged more than 100,000 test certificates signed with the leaked keys.
On 24 October we corrected Apple's block date to 22 October and added the Electron, Node.js, Python and Go fixes.
Added: what happened next.
The short version
- eMudhra, one of the companies trusted to vouch for websites, made eight of its signing keys so badly that anyone could copy them.
- With them, a criminal could fake any website or make malware look like trusted software.
- Your web browser was never fooled and now blocks them. Servers, apps and older devices may still trust them.
- The fix is a routine update. Ask whoever runs your IT to confirm it is done, and that container images were rebuilt.
The padlock, in one paragraph
The padlock in your browser means a company called a certificate authority has vouched that the website is who it says it is. Your computer trusts a small number of these companies completely. Their signing keys are among the most important secrets on the internet, because anyone holding one can vouch for anything.
What went wrong?
eMudhra is an Indian certificate authority trusted by Apple, Google, Microsoft and Mozilla. In April 2025 it made a new set of signing keys at a formal key ceremony. A software bug during that ceremony produced eight keys that were barely keys at all. Mozilla describes them as "effectively all-zeroes apart from the last byte." Imagine a safe whose combination is 0-0-0-7.
Nobody noticed for 18 months. On , a researcher called Wayne reported it, and proved the point by signing the message "We have a problem here" with all eight keys.
Six of the keys could vouch for websites. Two could vouch for Windows software, which means they could have made malware look like it came from a verified publisher.
Was anyone actually at risk?
Not through your browser. Chrome, Firefox, Safari and Edge only accept a website certificate that has been recorded in public logs, and no fake ones were before the report. Since then, people have logged more than 100,000 test certificates signed with the leaked keys, most of them for google.com, to prove the point. All four browsers now block the eight keys outright.
Everything else could be. Servers, apps, scripts, smart devices and developer laptops usually keep their own list of trusted companies and do not check those public logs. Until that list is updated, they would accept a fake, and working fakes are now public. The researchers say plainly: "We do not know if attackers exploited the flawed key generation to target these clients."
What happened next
- 17 October: reported. Firefox and Chrome block the keys the same evening.
- 18 October: eMudhra cancels all eight.
- 20 October: Microsoft blocks them through Windows Update. Mozilla stops trusting the eMudhra root they came from altogether.
- 22 October: Apple blocks them. Electron (44.9.1, 43.8.1, 42.11.16), Node.js, Python and Go ship updated trust stores. eMudhra announces it will leave the website certificate business.
- 27 October (US time): Chrome stops trusting the same eMudhra root.
What we found on our own machines
We tested our own equipment the morning after:
- Our servers, including the one running this website, had already taken the update and refused the fake certificates.
- One of our developer laptops did not. The browser was fine, but the command-line tools, PHP and Node.js on the same Mac all accepted them.
- This website's code included a PHP library with an old trusted list. We updated it the same day.
We expected trouble on the servers. The gaps were a laptop and a code library, and that is probably true for a lot of businesses.
What should you do?
Ask your IT provider or developer four questions:
- Have our servers had this week's security updates? On Linux, the package is
ca-certificates. - Have our container images been rebuilt since 20 October? Updating a server does not update the images running on it.
- Do any of our apps or devices keep their own trusted list? Mobile apps, desktop apps, old integrations and network appliances are the usual ones.
- Are our Electron apps updated? Slack, Discord, VS Code and other Electron apps carry their own trusted list, so updating the operating system or browser is not enough. The app itself must be on a patched Electron release.
Most websites do not need new certificates. Only about 30,000 were issued under the affected hierarchy, nearly all through InCommon, a service used by US universities. Click the padlock on your site: if it says Let's Encrypt, DigiCert, Sectigo, Google or Amazon, you are fine. If it says eMudhra or emSign, ask your provider whether it is one of those 30,000. If it is, replace it now: Chrome stops accepting them from 27 October.
For the technical team
Each of these should fail with a certificate error. Run them on hosts, inside containers and from your app's runtime:
curl https://dv-g3b-emudhra.we-have-a-problem.com/
curl https://dv-g3b-aaa-emudhra.we-have-a-problem.com/
If either loads, update. Fixed so far: Ubuntu ca-certificates 20260816ubuntu0.*, Debian 20250419+deb13u1 and ~deb12u2, Alpine 20261020-r0, Node.js 22.23.4 / 24.22.1 / 26.12.1, Java 21.0.13 / 17.0.21 and the other October updates, Go 1.27.3, Python certifi 2026.10.19, PHP composer/ca-bundle 1.6.0. Node.js and Java carry their own lists, so updating the operating system is not enough for them.
On macOS, Homebrew users should run brew upgrade ca-certificates, and /etc/ssl/cert.pem needs the manual fix on the researchers' page, which also has the full list of fixes and a Windows script.
For organisations working to the Essential Eight, this is ordinary application and operating system patching. Container images count.
Frequently asked questions
Could someone have faked our website?
To visitors on a normal browser, no. To software that does not check the public logs, it was possible. Nobody has reported it happening, but nobody can rule it out.
Is this connected to PHP2Shell?
No, the timing is a coincidence. PHP2Shell is a bug in PHP itself. Both are good reasons to check this week that your servers are actually being updated.
What happens to eMudhra now?
It is leaving the website certificate business and will replace affected customers' certificates for free through partners. Mozilla's investigation is still open, and Chrome is reviewing eMudhra's remaining root certificates.
Not sure whether your servers and apps have taken the update? Get in touch and we will check for you. For ongoing patching, see our cloud maintenance service.
Photo credits. All images used under the Unsplash License — free for commercial use, attribution appreciated:
- Keys hanging in a door lock — Matt Clark
Sources
- eMudhra Intermediate CA Compromise — Dennis Jackson and contributors, 20 October 2026. Proof, test sites, full list of fixes, workarounds for each platform.
- Bug 2083449 — Mozilla. What went wrong at the key ceremony, timeline, number of affected certificates.
- Protecting Chrome and Android users from compromised eMudhra intermediate CA certificates — Google, 20 October 2026. Chrome's root removal on 27 October.
- eMudhra to exit global SSL/TLS certificate business — eMudhra, 22 October 2026.
- Mozilla dev-security-policy discussion — CA operator thread.
- Ubuntu, Debian, FreeBSD, OpenJDK, Python certifi and composer/ca-bundle — fixes.
Was this useful?
Thanks — noted.
Share
Petr Červenka
Petr is the founder and lead developer at Nano Solutions, a Perth-based custom software firm. With over a decade of experience building enterprise platforms for government and private sector clients, he leads delivery of complex projects across Australia.
Connect on LinkedIn