Researchers found eight intermediate TLS certificates from the Indian certificate authority eMudhra with plainly broken private keys. A key on the P-384 curve should be a random number about 384 bits long. Instead, the keys turned out to be 4, 56, 66, 115, 155, 156, 230 and 237 — values anyone can brute-force in an instant.
Whoever knows such a key can issue a certificate for any domain, and browsers and devices will accept it as genuine. To show this is not theoretical, the researchers signed the phrase “We have a problem here — Wayne” with an eMudhra key. Browsers, several popular apps and programming languages have already blocked all eight certificates. Certificate Transparency logs show no sign of abuse so far.
Why a browser update does not end it
Browsers update themselves; much else does not. Old Linux servers, Docker images, IoT devices and command-line tools carry their own bundles of root and intermediate certificates, and those have to be updated by hand. The clean-up is being compared with Heartbleed in 2014, whose aftermath took years. Microsoft has not yet shipped a fix for Edge on Windows 10.
An attack requires sitting in the middle of a connection: intercepting traffic, decrypting it and re-encrypting it. On the open internet that takes serious resources; on a shared local network, such as an office or public Wi-Fi, it is easier.
What a site owner should check
- Update the ca-certificates package on your servers via apt, dnf or apk, depending on the system
- Rebuild Docker images on a fresh base instead of just restarting old containers
- Check whether eMudhra appears in your own certificate chain — if it does, reissue with another CA
- If your site calls third-party APIs, make sure HTTP clients and runtimes (Node.js, Python, Java) use the updated certificate store
Our take
All of HTTPS rests on trust in a couple of hundred certificate authorities, and one careless key generation puts everyone at risk. You cannot fix a CA yourself, but you can make sure your servers and images get updated on a schedule rather than when something breaks. Details are in 3DNews’s report.
