The lede
Eight Bits of Trust; eMudhra's CA keys cracked in milliseconds
Scott Helme · made the Sunday
The private keys for eight eMudhra intermediate CAs — six TLS issuers across DV, OV and EV, plus two code-signing CAs, all cross-signed by Sectigo's AAA root in May 2025 — were not stolen. They were 47 bytes of zeros followed by one byte. The recovered values are 4, 56, 115, 66, 155, 156, 230 and 237, which means at most 255 point multiplications to go from the public certificate to the private key, and Helme did all sixteen certificates on a laptop in under a second. eMudhra's own account on Mozilla's bug tracker blames a key-ceremony script that quietly minted a second weak keypair on the HSM, with similar key names causing the wrong one to get signed. The part worth your morning is the blast radius, not the blunder: browsers fixed this in an evening with CRLSets and OneCRL, but curl, Python, Node, Go, Java and git read an on-disk bundle, skip revocation by default and ignore Certificate Transparency entirely. Helme forged a certificate for api.stripe.com and curl, Python and Node all took it. Every `curl | sh` installer, CI runner, server-to-server API call and container base image is in scope, and because the key was effectively public from the moment of issuance, there is no theft window to reason about — seventeen months in which anyone could have done this, and no way to know if anyone did. His postscript is the detail that will stay with you: an AI agent recovered the keys from a single prompt.