Cybersecurity

One eMudhra certificate key was the number 4, letting anyone forge any website

Adrian Kessler
Add us on Google

The secret key behind one of the certificates that vouch for a website’s identity turned out to be the number four. Not a long random number that happens to start with four, just four. Seven more keys from the same Indian certificate authority, eMudhra, were nearly as small, and anyone holding them can mint a certificate for any website, from a bank to an email provider, that software trusting eMudhra accepts as genuine.

Those certificates are what the padlock in your browser checks. With a forged one, an attacker who sits between you and the internet, on café Wi-Fi, a hacked router or a hostile national network, can pose as the real site and read or alter what you send. Chrome, Firefox, Safari and Microsoft‘s platforms have already stopped trusting the eight certificates. Plenty of other software on your devices has not.

A normal key of this type is a random number about 384 bits long, which leaves roughly 10 to the power of 115 possibilities. eMudhra’s keys were between 3 and 8 bits: 4, 56, 66, 115, 155, 156, 230 and 237, as Ars Technica listed them. Security researcher Scott Helme wrote that he recovered all eight from the public certificates on his laptop, “and it took less than a second.” He later added that Anthropic‘s Claude did the same with a single prompt.

Nobody had to steal anything. In its account to Mozilla, reported by BleepingComputer, eMudhra blamed a bug in the script used during its key-generation ceremony: the script created a second, weak set of keys, and staff picked those by mistake because their labels looked similar. The company, which says it has issued more than 60 million digital certificates, told Mozilla most of the affected intermediates never went into production and that it has found no evidence they signed certificates for end users. It has revoked all eight and stopped issuing under the affected root.

Browsers are the easy part. Chrome, Firefox and Safari push revocation lists to users silently and also require every certificate to appear in public Certificate Transparency logs, and no website certificate chained to these keys ever showed up there, so up-to-date browsers were never exposed by default. The gap sits everywhere else. Command-line tools such as curl, languages such as Python, Node and Go, VPN clients, Docker containers and smart-home gadgets carry their own list of trusted authorities, rarely check revocation and ignore transparency logs. Helme built a fake certificate for Stripe’s payments API and found that curl, Python and Node accepted it on every Linux and macOS machine he tested.

“This will be a massive cleanup job, bigger than Heartbleed,” Filippo Valsorda, a maintainer of the Go language’s cryptography code, told Ars Technica, recalling the OpenSSL flaw that took years to mop up. He expects “a very, very long tail” of IoT devices, Docker containers, forgotten Linux machines and unmaintained tools that ship their own copy of the trusted roots. Exploiting the keys still requires an attacker on the network path, which puts it within reach of governments, a compromised office network or whoever runs a public hotspot. Signal, WhatsApp and WireGuard, which do not rely on these certificates for their encryption, are not affected, Ars notes.

The keys were recoverable from the day the certificates were created in April 2025, a window of about 17 months, and there is no way to know whether anyone used them against software that skips the transparency check. Every certificate was also cross-signed by Sectigo’s AAA Certificate Services root in May 2025, which widened the set of systems that trusted them.

The fix for most people is to install updates. A researcher reported the keys to the browser makers on October 17. Mozilla blocked the certificates in Firefox within three hours that day, and on October 20 it shipped Firefox 158.0.1, new ESR builds and NSS 3.131.1, which removes the eMudhra root. Apple added protection on October 19 and Microsoft on October 20, according to the incident site run by Mozilla engineer Dennis Jackson, although Ars found Edge on Windows 10 still connecting to the test servers when it published. Go 1.27.3 and 1.26.10, pip 26.2.2, uv 0.13.4 and certifi 2026.10.19 are out, Cloudflare has updated its WARP and 1.1.1.1 apps, and Linux distributions are still shipping new ca-certificates packages. The built-in curl on macOS keeps trusting the keys until its certificate file is edited by hand.

Chrome has confirmed the eMudhra root will be dropped from its Chrome Root Store in version 43. Until every device catches up, eight bits stand between a lot of everyday software and a convincing fake of any site.

Tags: , , , , ,

Add us on Google

Discussion

There are 0 comments.