255: The tiny key size that exposed eight digital security certificates
A cryptographic error in eight certificates allows attackers to spoof any website, though modern browsers may offer protection.
By Bianca Herrera ·

For most people, the immediate change is a quiet but urgent need to update software. While the average user might not interact with digital certificates directly, the underlying security infrastructure that verifies your connection to a bank or email provider has been compromised. If your operating system or applications have not yet been patched, an attacker positioned between you and the internet could potentially convince your device that they are a legitimate website.
The core of the issue involves eight intermediate certificates issued by an Indian company called eMudhra. These certificates are part of the chain of trust that allows your browser to verify a website’s identity. In standard practice, these intermediates are signed by root certificates, which are kept in highly secure, offline storage. However, in this instance, the private keys for these eight specific certificates were flawed. A private key is the secret component that proves a certificate is genuine. In this case, the keys were only one byte in length. This means the secret number was effectively a value between zero and 255. An attacker can guess such a number almost instantly, allowing them to create fake certificates that look authentic to unpatched systems.
This vulnerability enables what is known as a man-in-the-middle attack. An intruder on your network, whether through public Wi-Fi, a corporate network, or even an internet service provider, could intercept your traffic. They could then present a forged certificate, making it appear as if you are securely connected to major sites like Apple or Amazon. Beyond web browsing, two of the affected certificates were used for code signing. This means an attacker could theoretically sign malicious software to make it appear as if it came from a trusted vendor like Microsoft or Google, bypassing security warnings on older systems.
There is, however, a significant layer of protection for many users. Recent versions of major browsers, including Chrome, Brave, Firefox, and Safari, enforce a feature called Certificate Transparency. This system checks a public, read-only log to see if a certificate has been officially recorded. Google has reported that none of the certificates issued by the six affected intermediate CAs appeared in this log. Consequently, if you are using an up-to-date browser for standard web browsing, you are likely protected against this specific impersonation tactic. Nevertheless, this does not guarantee safety for all applications, as many programs maintain their own separate lists of trusted certificates.
The challenge now lies in the sheer scale of the update required. It is not just about updating a browser. The lists of trusted certificates are embedded in operating systems, servers, routers, smartphones, tablets, and virtual machines. They are also present in programming languages like Python, Go, and Rust, as well as in standalone tools like curl. Every one of these components needs to either revoke the bad certificates or hard-code a rejection of the specific weak keys. For systems administrators, this week has been particularly demanding, following a separate critical vulnerability in PHP, requiring them to push updates across vast networks.
The most pressing concern for the future involves devices that are difficult to update. Older routers, smart home appliances, and Internet of Things (IoT) devices often receive security patches slowly, or sometimes not at all. These devices may remain vulnerable for a long time, potentially presenting a long-term risk. The technical investigation into how the one-byte keys were generated is ongoing, but the immediate priority for users and organizations is to ensure all software checks for and applies the latest security updates to remove the compromised keys from their trust stores.





