Security personnel around the world are on high alert Tuesday following the discovery of eight TLS certificates with private keys so weak they could allow anyone to mint trusted browser and app credentials for any site on the Internet.
As of late morning Tuesday, browser makers and some major apps and programming languages had blocked all eight of the intermediate certificates. There are no reports of certificate transparency logs, which track the issuance of all browser-trusted certificates, showing the compromised keys being used maliciously. The threat remains far from over, however, because it will be hard and time-consuming to update other key parts of the Internet, such as Linux distributions and embedded and Internet of Things devices. One word: bonkers
The eight intermediate certificates belong to India-based certificate authority eMudhra Limited. An informal advisory published to emudhra.we-have-a-problem.com over on Tuesday posted the message “We have a problem here – Wayne.” The words were digitally signed using the private key of one of the eMudhra certificates. With proof that the reporting party had control of the key, defenders scrambled because the same key could be used to sign unauthorized certificates that would be trusted by millions of servers worldwide.
“This will be a massive cleanup job, bigger than Heartbleed,” Filippo Valsorda, a cryptography engineer and a cryptography maintainer for the open source Go programming language, told Ars. “There will be a very, very long tail, IoT devices, Docker containers, forgotten Linux machines, unmaintained CLI tools that shipped their own copy of the roots (which is common in some ecosystems, like Python). Also, Linux distributions are still rolling out updates, some of them are not ready yet, and then system administrators will need to apply them to a lot of machines.”
Heartbleed is the name of a critical vulnerability in the OpenSSL cryptography library. In 2014, it came under mass exploitation. Exploits let many unaffiliated hackers decrypt TLS-protected exchanges between parties. They also recovered private TLS certificate keys, session cookies, and passwords. The attacks compromised thousands of servers, some belonging to large companies and government agencies around the world.
Recovery required a long series of steps that took years. Steps included patching OpenSSL on all affected devices, reissuing millions of TLS keys, revoking old certificates, rotating passwords and session tokens and updating embedded devices and other forgotten systems—something that was extremely time- and resource-intensive, especially at Internet scale.
“Every time you need a lot of different people in different contexts to do something, it will take a long time,” Valsorda explained. “This time it’s worse because there’s more contexts, more people, and more heterogeneity.”
The compromised eMudhra keys were defective at a level that’s challenging the imagination of many of the engineers studying the incident. A normal size for a NIST P-384 elliptic curve cryptography private key contains roughly 384 bits of entropy, a size allowing almost 2384, or a number with 116 digits, different possibilities. The private key sizes of the compromised keys ranged from 3 to 8 bits. Astonishingly, the private keys were 4, 56, 66, 115, 155, 156, 230, 237.
“That is extremely in the ‘this should not be possible’ category,” Valdorda said. “Maybe some horribly dangerous key generation interface has a ‘size’ parameter and they set it to 1 by mistake???”
Ben Cartwright-Cox, director of BGP.tools, said: “My guess is that it’s example code that accidentally leaked to production, but hard to know. But it’s bonkers that no one noticed.”
At this early stage, the most immediate threat appears to be for those using VPNs, especially in countries with governments likely to maliciously intercept traffic. There are likely many other cases for concern. End users largely have no recourse other than to hold off using many non-browser forms of TLS communication until they receive assurances updates are in place.
As noted, most browsers have already blocked the intermediate certificates. The exception appears to be Edge, which at the time this article went live was still connecting to 12 vulnerable hosts. In response to questions asking why and if the company has plans to do so, a Microsoft representative the company will be in touch if it has anything to “share.” Meanwhile, Signal, WhatsApp, Wireguard, and other apps that don’t rely on TLS for confidentiality aren’t affected. This page and the emudhra.we-have-a-problem.com site show apps known to be patched so far.
The incident is the latest to expose a fatal flaw in the TLS regimen. It’s only as strong as its weakest link, which in this case was eMudhra. Fortunately, transparency logs account for much of that failure, but this measure requires parties to actively monitor massive feeds and works only after unauthorized certificates have been issued. eMudhra representatives weren’t immediately available to answer questions.
One caveat: exploiting compromised certificates requires an active adversary-in-the-middle attack, meaning the attacker must act as a proxy between two TLS parties and receive encrypted traffic, decrypt it, reencrypt it, and send it to the other party. Such capabilities, in some cases, are usually limited to only the most well-resourced attackers. People with control of a local network—at a coffee shop, university, or other organization—face much less of a challenge.
EDIT: Neverming, CAA is only checked on issuance-time, so the CA should refuse to create the cert, instead of browsers checking for it. WTF? What usecase does that have?
Omg, I can’t believe this is happening.
I was the only one in our pentesting company who has reported “You don’t have DNS CAA record” as a finding. I was usually told it’s not really a worthwhile finding, that the risk is pretty low.
Haha, I was right!Reminder that you should set that up for your domain.
The private key sizes of the compromised keys ranged from 3 to 8 bits. Astonishingly, the private keys were 4, 56, 66, 115, 155, 156, 230, 237.

There really is an XKCD for everything. Even if it was drawn years before what its applicable to
Astonishingly, the private keys were 4, 56, 66, 115, 155, 156, 230, 237.
Oh for-- even Let’s Encrypt spends a hot minute trying to break your keys. Trivially small numbers should be spotted immediately.
I don’t quite understand, what are those keys and how are they different from certificates, and how is it really used by an attacker. Is it that an attacker may use those to sign MitM fake certificate but claim it to have been checked by eMudhra? Is there really no way of terminating a CA certificate?
Those keys are the private keys of 8 intermediate certificates. With those keys you can sign any certificate and from a browser(or any other app the consumes TLS) it will look like it was signed by the official intermediate certificate.
So yeah, an attacker could sign fake certificates for any site and pretend to be signed by the trusted eMudhra CA. It requires MitM.
As for revoking a cert, there are a few ways, but none of them are fully reliable. This works by having revocation list endpoints that list all the revoked certificates. Which is why you should already be fine if you are using a desktop browser(mobile could still be outdated). But for IoT devices, they tend to both not check the revocation lists, and not get updates to remove the compromised root. As a result we might have issues with this for a long time.
This is also why there has been a big push to have short expiry times for certificates in the industry for multiple years now. Because with shorter lifetimes, the open window for using a compromised certificate is limited.
Btw, this is exactly the thing DNS CAA should prevent, and a reason why you should always have it set up for your domains.
EDIT: Neverming, CAA is only checked on issuance-time, so the CA should refuse to create the cert, instead of browsers checking for it. WTF? What usecase does that have?
I see, thanks for an explanation
I am afraid IoT would ignore expiry date if it bakes certificates in like they already do sometimes



