Emudhra Ca Key Compromise

eMudhra CA Key Compromise: 8 Keys Smaller Than 256

eMudhra CA Key Compromise: 8 Keys Smaller Than 256
Eight eMudhra CA private keys, each smaller than 256 The eight compromised P-384 private keys were the integers 4, 56, 66, 115, 155, 156, 230 and 237. eMUDHRA (emSign) CA KEY COMPROMISE · OCT 2026 TechOwl Shield Eight CA private keys, each smaller than 256. k = 4 k = 56 k = 66 k = 115 k = 155 k = 156 k = 230 k = 237
TL;DR

Eight intermediate certificate authority keys belonging to eMudhra (emSign) had private values smaller than 256. Anyone could recover them from the public certificates in seconds. Six issue TLS certificates; two issue code-signing certificates.[1]

Removing the emSign root is not enough. Sectigo's legacy AAA Certificate Services root cross-signed all eight keys, and all 106,051 flood certificates in CT were logged on that path. Browsers are protected. Java, RHEL, Android devices without Google Play services, several TLS-inspection appliances and some Windows hosts are not yet.

No confirmed malicious use has been reported as of 23 October 2026, but the keys are now effectively public. Certificate Transparency logs recorded 106,051 forged certificates in a single flood within days of disclosure. Block the eight keys by public-key hash now; the indicators are at the end of this post.

On 22 October eMudhra announced that it will exit the global SSL/TLS certificate business. Its G1 RSA roots will keep serving customers until the transition is complete.[25]

Why this made headlines

Most certificate-authority incidents are paperwork: a malformed field, a late audit, a missed deadline. This one is the failure the whole web PKI is built to prevent: private keys of trusted CAs, recoverable by anyone. No intrusion or insider was needed. A P-384 private key should be a random 384-bit number. These were integers between 1 and 255, so trying every value finds each key.

Mozilla's incident bug states it plainly: "The 8 impacted keys all used integers less than 256." It adds that local AI agents "were able to recover the private key on their first attempt with a simplistic prompt".[1] Add a missed warning in 2025, mass public forgery after disclosure, and a fix that is still incomplete outside the browser, and it becomes one of the most significant PKI events in years.

Compromised CA keys
8 keys
6 TLS · 2 code signing
Private key size
< 256
vs. a random 384-bit value
Exposure window
~18 months
Apr 2025 – Oct 2026
Forged certs in CT
106,051
one flood, per CT logs

What happened

eMudhra is an Indian, publicly listed certificate authority. Its global emSign business issues TLS and code-signing certificates trusted by major browsers and operating systems. That business is separate from its Indian Digital Signature Certificate (DSC) and eSign services, which are regulated by the Controller of Certifying Authorities and which CERT-In confirms are not affected.[12]

On 30 April 2025, eMudhra ran a key-generation ceremony that produced 24 new intermediate CAs.[1][2] eMudhra's preliminary account is that an approved deviation to test a key wrap/unwrap step created a second set of keys on the HSM. In its own words, "these second pair of weaker keys were used by mistake to create the csr (because the key labels were similar)".[1] Participants in the Mozilla bug have challenged this account, and the final root cause is still pending.

Compromised CAPurposeIssued byCross-signed by
EM DV TLS CA - G3B TLS emSign Root TLS CA - G3 Sectigo AAA Certificate Services
EM OV TLS CA - G3B TLS emSign Root TLS CA - G3 Sectigo AAA Certificate Services
EM EV TLS CA - G3B TLS emSign Root TLS CA - G3 Sectigo AAA Certificate Services
EM DV TLS CA - G3C TLS emSign Root TLS CA - G3 Sectigo AAA Certificate Services
EM OV TLS CA - G3C TLS emSign Root TLS CA - G3 Sectigo AAA Certificate Services
EM EV TLS CA - G3C TLS emSign Root TLS CA - G3 Sectigo AAA Certificate Services
EM OV CS CA - G3B Code signing emSign Root CS CA - G3 Sectigo AAA Certificate Services
EM OV CS CA - G3C Code signing emSign Root CS CA - G3 Sectigo AAA Certificate Services

None of these CAs is name-constrained. A key holder can issue a certificate for any domain, or a code-signing certificate in any publisher's name. The key holder cannot create further sub-CAs.

Why removing one root is not enough

Each compromised key sits in two certificates: one under emSign, one cross-signed by Sectigo.

eMudhra compromised key trust paths Six TLS and two code-signing intermediates chain to emSign ECC Root CA - G3, and the same eight keys were also cross-signed by Sectigo AAA Certificate Services. emSign ECC Root CA - G3 distrusted by browsers emSign Root TLS CA G3 · issues TLS CAs emSign Root CS CA G3 · code signing DV TLS G3B k=156 G3C k=230 OV TLS G3B k=155 G3C k=4 EV TLS G3B k=115 G3C k=56 OV CS G3B k=66 G3C k=237 AAA Certificate Services (Sectigo) cross-signed all 8 keys · May 2025 Fix: block the 8 public keys (SPKI hashes) to catch both copies of every key. Card = EM <type> CA - G3B / G3C intermediate. TechOwl Shield

Timeline

From key ceremony to root removal

All times UTC. Sourced to the Mozilla incident record and vendor publications.

  1. Weak keys generated Key ceremony produces 24 intermediates; eight have private keys below 256. Sectigo cross-certificates take effect on 14 May 2025.[1] 30 Apr 2025
  2. The missed warning CRLs for these CAs fail signature checks. Sectigo asks whether the wrong private key was used. eMudhra re-signs the CRLs and cites a "key configuration" error.[3][4][5] 23 May – 6 Jun 2025
  3. Discovery and report A researcher credited by Mozilla as "Wayne" identifies the weak keys at 16:27. At 18:05 he reports to Apple, Chrome, Microsoft, Mozilla and eMudhra, proving control of the keys.[1] 17 Oct 2026
  4. Browsers block Chrome blocks the six TLS keys via CRLSet at 19:45. Mozilla completes its OneCRL block at 22:59.[6][1] 17 Oct 2026
  5. Revocation eMudhra revokes all eight intermediates between 09:24 and 09:38. Its status page originally gave 19 October; after this was raised in the Mozilla bug, eMudhra changed the page on 22 October to 17/18 October without a correction note.[1][17] 18 Oct 2026
  6. Apple, Android and Sectigo Apple's revocation data (version 329, generated 18 Oct 16:07, published by 19 Oct 14:43 GMT) adds all 12 TLS certificates; the code-signing certificates are not listed. Google pushes an equivalent block to Android through Google Play services. Sectigo revokes its cross-certificates.[19][6][1] 19 Oct 2026
  7. Public disclosure and fixes Mozilla makes the bug public at 17:29. Firefox, NSS and Go ship fixes. Microsoft's untrusted-certificate list, last modified 18:02 GMT, now contains all eight keys; Microsoft published no advisory.[7][13][14] 20 Oct 2026
  8. Advisories CERT-In issues CIAD-2026-0050. OpenJDK publishes CVE-2026-91403. eMudhra files with the stock exchanges.[12][15][17] 21 Oct 2026
  9. eMudhra exits TLS eMudhra's board decides to withdraw from the global SSL/TLS certificate business, filed with NSE at 16:46 IST. Free replacement certificates from partners are promised and a full root-cause report is still pending.[25] 22 Oct 2026
  10. Root removal (planned) Chrome Root Store removes emSign ECC Root CA - G3. Sites still chaining to it will fail in Chrome.[6] 27 Oct 2026

Hours from report to protection

Measured from the researcher's report at 18:05 UTC on 17 October 2026.[1][6][7][19]

Time from report to protection by vendor Chrome 1.7 hours, Firefox 4.9, eMudhra revocation 15, Apple 45, Android about 52, Microsoft by 72 hours, measured from the report at 18:05 UTC on 17 October 2026. 0 h 24 h 48 h 72 h Chrome (CRLSet) 1.7 h 19:45 UTC, 17 Oct · 6 TLS keys Firefox (OneCRL) 4.9 h 22:59 UTC, 17 Oct eMudhra revocation 15 h 09:24 UTC, 18 Oct Apple revocation data 45 h 14:43 UTC, 19 Oct Android (Play services) 52 h ≈22:00 UTC, 19 Oct Microsoft untrusted list 72 h by 18:02 UTC, 20 Oct Measured from the report at 18:05 UTC, 17 Oct 2026. Microsoft: trust-list file's last-modified time. TechOwl Shield

The warning missed in 2025

The weakness left a visible trace 16 months before disclosure. From 23 May 2025, crt.sh's public monitoring recorded ECDSA signature-verification failures on the revocation lists of all six affected TLS CAs.[5] On 3 June 2025, Sectigo sent eMudhra a problem report that asked directly:

"Are these CRLs signed using the wrong private key?"

Sectigo problem report to eMudhra, 3 June 2025 (Mozilla Bugzilla 1970727)

eMudhra's incident report attributed the problem to "Incorrect Key Configuration Used During Manual CRL Generation". It said the keys "were from the issuing environment, [but] did not match the exact keys expected", and re-issued the CRLs.[4] The bug was closed in July 2025 without reviewer questions about the root cause. Sixteen months later, eMudhra described the same event differently:

"The CRL's were signed with the original private keys (which were supposed to be the correct keys with appropriate entropy) but given that this resulted in incorrect signatures, they were resigned with flawed keys."

eMudhra, Mozilla Bugzilla 2083449, October 2026
Assessment · inference

Making the CRL signatures verify in June 2025 required locating and using a second key object on the HSM for each affected CA. The information needed to discover the dual key sets was therefore in eMudhra's hands by early June 2025. This is an inference from the public record, not an established fact. eMudhra has not said when it realised.

Chrome's Root Program asks the same question: "At what exact date and time did eMudhra personnel first realize that multiple key pairs with similar labels existed on the HSM…?" As of 23 October 2026, 05:00 UTC, none of Chrome's 12 questions had been answered, and eMudhra had not commented in the bug since 20 October. A later question asks whether the 2025 CRL incident was disclosed to its auditors.[1]

Technical deep dive

Everything below can be reproduced from public data: the certificates in the Common CA Database (CCADB), the Mozilla incident record, published revocation lists and Microsoft's trust-list files.

Eight keys, sixteen certificates

The private keys are tiny integers. Each compromised public key equals k·G on the P-384 curve, where k ∈ {4, 56, 66, 115, 155, 156, 230, 237}, so multiplying the curve's generator point by each value reproduces it exactly.[1][9] Every key sits in two certificates: the emSign-issued intermediate and a Sectigo AAA Certificate Services cross-certificate. Blocking by public key covers both copies. Distrusting one root does not.

The rest of eMudhra's keys pass standard checks

CCADB lists 155 eMudhra-related CA certificates covering 113 distinct public keys, 50 elliptic-curve and 63 RSA.[9] Standard weak-key tests flag only the eight known keys. For elliptic-curve keys that means searching for small private values up to about 240. For RSA keys it means looking for small factors, factors shared between keys, close primes and the ROCA fingerprint. These tests catch structurally weak keys. They cannot prove that a full-size key was generated unpredictably.

Same hardware as the weak keys

In the Mozilla bug, eMudhra wrote: "Our other CAs were issued using a different HSM vendors (Entrust and Crypto4A)". Yet eMudhra's own HSM spreadsheet, attached to the same bug, lists the eight weak keys and eight still-active RSA intermediates from the same ceremony on the same HSM model, a Utimaco Se-Series Gen2.[1] Those RSA keys pass the weak-key tests above. They are not shown to be weak, but the vendor-separation reassurance does not cover them.

The wrong key, again, on the remaining root

A CRL issued on 14 October 2026 for emSign Root TLS CA - G1 does not verify against that root's public key, or against any of the 63 eMudhra RSA keys in CCADB. G1 is the root customers are being moved to. As identified in the Mozilla bug, the CRL was signed with the key of eMudhra's own OCSP responder certificate, "EMSIGN ROOT TLS CA - G1 OCSP 2026 - 4". That certificate was issued the same day and is not listed in CCADB. The signature verifies with OpenSSL against that certificate's public key. The next day's CRL verifies correctly against the root.[1]

So this is not a hidden or weak root key. It is the same class of failure seen in 2025: an eMudhra artefact signed with the wrong key, published, and later corrected. Chrome's question about it remains unanswered.

Microsoft blocked quietly

Microsoft has published no advisory. Even so, its live untrusted-certificate trust list (disallowedcertstl.cab, last modified 20 October, 18:02 GMT) lists all eight keys, and the companion store (disallowedcert.sst) contains all 16 certificates.[7] Microsoft's trusted-root list still trusts every emSign root and Sectigo AAA without restriction. Windows hosts that do not receive automatic trust-list updates remain exposed. Microsoft has not said whether the block applies to Authenticode code-signing checks.

After disclosure: a public free-for-all

  • Mass forgery in Certificate Transparency. The GoDaddy Aquamarine and Microsec e-Szignó logs hold 106,051 forged certificates from one template: subject CN=we-are-lost.com, O=eMudhra key lol, issued for google.com, valid for about 24 hours.[20] They came in two bursts: 150 under EM DV TLS CA - G3B late on 20 October, then 105,901 under EM EV TLS CA - G3B between 01:30 and 01:50 UTC on 21 October. Each has a fresh key and random serial, consistent with a single automated tool. Across all six log shards there are 107,128 unique certificates from the compromised keys. The other 1,077 are mostly log fuzzing (1,048) and researcher test or probe certificates. Two name third-party brands: precertificates for emudhra.salesforce.com and a certificate for ca1.cloudflarecaptcha.com. Neither has been attributed, and neither has been reported in use against real users.[8][20] When eMudhra says "there were no end entity certificates issued out of the affected CA's", it means certificates eMudhra issued. Every certificate above was forged by third parties with the recovered keys.[25]
  • The flood chose the Sectigo path. All 106,051 flood certificates were logged with a Sectigo AAA cross-certificate as issuer. The fuzzing certificates used the emSign-issued copies. The AAA path is the one that survives removal of the emSign root in any trust store that still includes AAA Certificate Services.[20]
  • CT logs were slow to close. GoDaddy Aquamarine and Microsec e-Szignó logged these chains until 22:28 and 22:02 UTC on 21 October. No new ones have appeared since. Neither log has said whether it now rejects them.
  • Tooling is public. Point-and-click forging tools appeared on public code repositories within days. They are not linked here.

No confirmed malicious use has been reported. Cisco Talos "has not seen any malicious incidents involving them in the wild yet" as of 21 October.[10] Cloudflare found no active exploitation on its services.[11] CERT-In states the disclosures "do not establish confirmed malicious exploitation".[12] Two caveats apply. A targeted attacker would not log a forged certificate to CT. And code-signing certificates are not logged at all, so there is no public visibility into abuse of the two code-signing keys.

105,901 forged certificates in 21 minutes

Forged certificates under EM EV TLS CA - G3B logged to CT per minute, 21 October 2026 (UTC).[20]

CT flood of forged eMudhra certificates per minute Bar chart: about 46 certificates per minute from 01:30 to 01:36 UTC, then a burst from 01:42 to 01:50 peaking at 15,107 in one minute; 105,901 in total. 0 4k 8k 12k 16k 01:30 01:35 01:40 01:45 01:50 peak 15,107/min ≈46/min early phase One template: CN=we-are-lost.com, O=eMudhra key lol, SAN google.com, ~24 h validity. Total 105,901. TechOwl Shield

Who is still exposed

Exposure depends on whether a product blocks these specific keys, not on whether it has removed the emSign root.

Status as of 23 October 2026
PlatformStatusAction
Chrome, Edge, Firefox Protected. Key-based blocks since 17 Oct Keep updating; Firefox 158.0.1 / ESR 115.43.1 / 153.5.1 for locked-down installs.[13] Firefox forks that strip OneCRL (e.g. GNU IceCat) are not protected
Bun, Python certifi Fixed. Bun v1.4.4; certifi 2026.10.19[22] Update, including vendored copies
Go applications Fix available. Go 1.27.3 / 1.26.10, CVE-2026-111943[14] Rebuild every Go binary; Go 1.25 and older get no fix
Windows Blocked via trust list. No advisory; roots still trusted Confirm the 16 certificates are in Untrusted Certificates; push via GPO/Intune where auto-update is off
Java Exposed. CVE-2026-91403. Oracle lists 8u511, 11.0.33, 17.0.21, 21.0.13, 25.0.5 and 27.0.1 as affected; Temurin 25.0.5+8 is unfixed[15][21] Remove comodoaaaca and emSign aliases from cacerts, or blocklist the certificates
RHEL / UBI Exposed. RHSB-2026-012 (CVE-2026-114406), no RHEL package yet[16] Apply Red Hat's blocklist workaround (RHEL 7–10)
Debian, Ubuntu, Alpine, Fedora Updates released. Derivatives lag: Kali rolling is still unfixed Update ca-certificates and rebuild container images built before 20 Oct
Android Partial. Play services block; system store still holds both roots Check devices without Google Play services and apps with bundled trust stores
Apple platforms TLS blocked via revocation data (19 Oct). No Apple notice; roots still trusted; code-signing certs not listed[19] Keep devices online for revocation updates; test managed devices; fix /etc/ssl/cert.pem for command-line tools
FortiOS Exposed. Bundle ≤ 1.00064 includes emSign ECC Root CA - G3 Disable the root for SSL inspection per Fortinet guidance[18]
Zscaler Partly fixed. ZIA fixed Upgrade ZPA connectors to 26.58.5[18]
Other inspection / proxy appliances Unknown. No vendor advisories found Test from behind each device (see below)
Why inspection proxies matter most

A TLS-inspection proxy validates the upstream website with its own CA bundle, then re-signs the traffic with your corporate CA. If that bundle accepts a forged certificate, every user behind the proxy sees a valid, corporate-signed connection and nothing looks wrong. One unpatched appliance can hide interception for an entire organisation.

What to do now

Immediately

  • Test inspection proxies and gateways. From behind each device, browse to the public test hosts researchers run for this purpose: https://dv-g3b-emudhra.we-have-a-problem.com/ (emSign path) and https://dv-g3b-aaa-emudhra.we-have-a-problem.com/ (Sectigo path). If either loads without error, block the keys on that device and contact the vendor.
  • Block by key wherever you control trust. Add the 16 certificates, or the 8 public-key hashes, below to the Windows Untrusted Certificates store, Java cacerts/blocklists, Linux trust blocklists and appliance deny-lists.
  • Check your own certificates. Any service chaining to emSign ECC Root CA - G3 will fail in Chrome around 27 October. Replace those certificates now.

This week

  • Patch OS trust stores and rebuild container images.
  • Rebuild Go binaries with Go 1.26.10 or later; update Bun (v1.4.4), Python certifi (2026.10.19) and Node.js now, and Java and Electron apps as fixes ship.
  • Make sure Windows automatic root and disallowed-certificate updates are enabled, or distribute the untrusted certificates centrally.

Ongoing

  • Hunt back to 30 April 2025. eMudhra states these CAs issued no legitimate end-entity certificates. Any certificate or signed binary chaining to them is either malicious or a researcher test. Prioritise Authenticode signatures chaining to EM OV CS CA - G3B/G3C.
  • Do not rely on revocation alone. Many non-browser clients do not check it. An attacker holding a CA key can also issue new certificates and sign their own revocation responses for them.
  • Plan to leave emSign TLS entirely. eMudhra is exiting the business, and its G1 RSA roots will serve customers only "until this transition is complete".[25] It offers Sectigo-issued replacements free of charge.[17] Do not migrate onto emSign Root CA - G1 as a long-term home. Move to another CA.

What is still unknown

Open questions

Safari and the G3B intermediates. Several users report Apple devices accepting chains through the three G3B intermediates. Apple's revocation data lists G3B and G3C identically, and Apple's open-source code predicts a block, so the cause is unexplained. One observable difference: eMudhra's G3B OCSP responder has not been answering requests, while the G3C responder does. These are uncontrolled reports, not a confirmed bypass.

Code signing on Apple and Windows. Apple's data does not list the two code-signing certificates, and Microsoft has not stated whether its block applies to Authenticode.

Code-signing abuse. There is no public telemetry. Whether malware signed with these keys exists is unknown.

Root cause. eMudhra's explanation is preliminary and disputed. It has committed to a full root-cause report but gives no date.[25] Community questions on how the HSM produced the weak keys, and on audit scope, are unanswered.[1]

Transition timeline. The exit announcement names no replacement partners other than Sectigo, gives no number of affected certificates, and sets no date for G1's retirement.

India. MeitY said on its official account on 21 October that "a special team has been constituted to investigate the matter", without naming members or a remit.[23] The CCA has published no statement. eMudhra's shares hit the 20% lower circuit on both 21 and 22 October (NSE close ₹432.00, then ₹345.60).[24] The exit decision was disclosed to NSE on 22 October.[25]

Indicators of compromise

Block on public-key (SPKI) SHA-256 where your platform supports it, because one entry covers both the emSign and Sectigo copies. Otherwise block all 16 certificate fingerprints. Every value below was verified against the published certificates and against the Go and OpenJDK blocklists.

Compromised public keys (SPKI SHA-256)

CAUseSPKI SHA-256
EM DV TLS CA - G3B TLS ebed6475c2c2d80fcb199f3fe8dd6e6b3ce60b77eb15d4e42c3dec0c6f5b5105
EM OV TLS CA - G3B TLS 43bffa19d6ef651451f6841e019931e96f6f2eaeff28ab4b6f1ce4576de2717b
EM EV TLS CA - G3B TLS e0254c7fcdc265e2f0f8a428dabb75ab4ae039b4872d62f5ee57f0877d5a8a41
EM DV TLS CA - G3C TLS 49dd353dc2b919a3770645117d0e60c16115e7d1bc259eefe734b00ea434fe5f
EM OV TLS CA - G3C TLS 63ecefee431d49523bc1136c4e72d0206a477086caf606cd5cf025686c109cf8
EM EV TLS CA - G3C TLS 5c0660a2b164910d8ff589c18e14552e9e0ec237dcefe2cb736d41a4811f81a0
EM OV CS CA - G3B Code signing ec4ffa1ad0ac88081314b7aaffef6a91f97cd57291bb5ba686c5415f5eb4f6b6
EM OV CS CA - G3C Code signing 92c063d67e8f14db71d288e11266ffdaf69cbf115f7bab14f3bc2f68d25e0e30

Copy-ready list for blocklists and hunting queries:

# eMudhra compromised CA keys: SPKI SHA-256 (hex), one per line
ebed6475c2c2d80fcb199f3fe8dd6e6b3ce60b77eb15d4e42c3dec0c6f5b5105  # EM DV TLS CA - G3B
43bffa19d6ef651451f6841e019931e96f6f2eaeff28ab4b6f1ce4576de2717b  # EM OV TLS CA - G3B
e0254c7fcdc265e2f0f8a428dabb75ab4ae039b4872d62f5ee57f0877d5a8a41  # EM EV TLS CA - G3B
49dd353dc2b919a3770645117d0e60c16115e7d1bc259eefe734b00ea434fe5f  # EM DV TLS CA - G3C
63ecefee431d49523bc1136c4e72d0206a477086caf606cd5cf025686c109cf8  # EM OV TLS CA - G3C
5c0660a2b164910d8ff589c18e14552e9e0ec237dcefe2cb736d41a4811f81a0  # EM EV TLS CA - G3C
ec4ffa1ad0ac88081314b7aaffef6a91f97cd57291bb5ba686c5415f5eb4f6b6  # EM OV CS CA - G3B
92c063d67e8f14db71d288e11266ffdaf69cbf115f7bab14f3bc2f68d25e0e30  # EM OV CS CA - G3C

Compromised CA certificates (SHA-256)

CAIssuerCertificate SHA-256
EM DV TLS CA - G3B emSign Root TLS CA - G3 42C4ACCD12C4F59597925E1A08A7A90102608543809308D50EC427E118BA1493
EM DV TLS CA - G3B AAA Certificate Services 45A883F349AEDFD5F3A649B5498FFB121712BA8B448F3F2A91DBC5A766FCDDBE
EM OV TLS CA - G3B emSign Root TLS CA - G3 98B896625C0C230ADEEC3EB2CF6AAD5001ECF9156A68644E82374CE5833BC25B
EM OV TLS CA - G3B AAA Certificate Services 5F1DED4DD590AF74631290CF073B122A2AAC6A1FA479778A0BD43579BD832699
EM EV TLS CA - G3B emSign Root TLS CA - G3 E7568FE6E12331F4FD7DE61DA4C7559D0F8EB192A218D4741A3BA75184333838
EM EV TLS CA - G3B AAA Certificate Services 579480AEA166290BD3C643589E795FC0D0E54E86505D180F1DFF99EFD3199512
EM DV TLS CA - G3C emSign Root TLS CA - G3 0164D7CEAE5BB909C272AF151FF44B1177AE9B47D9424B94F1D9558C30934D19
EM DV TLS CA - G3C AAA Certificate Services 62B7F9868263F72F6911FC78CEAF72C1979158B7368BF648683BB2AA39B02E72
EM OV TLS CA - G3C emSign Root TLS CA - G3 CB6E15165AC802E9B3F993F16C25D41F4E81C21EBDE71AE1B012AC00BF9C7C3F
EM OV TLS CA - G3C AAA Certificate Services 7485B51C0ED192878FA1D2F948FB529AE1842CC5086C4B67F7BE5B2039DE9489
EM EV TLS CA - G3C emSign Root TLS CA - G3 432EC25F0D28DE9006D97BF752F17BBB2CD41F669933FCB072D9A1148D0261F3
EM EV TLS CA - G3C AAA Certificate Services FD9D5C2DBBD4995AB69B8D50C439D9527B00529199C2FD01B2174EB58F07021F
EM OV CS CA - G3B emSign Root CS CA - G3 9E39DE2881273ACC225A149C72BA3E0F51424963669AB633EE1DC7DF5DB067B4
EM OV CS CA - G3B AAA Certificate Services A496E23AC0CAB8155FC9B117B97EAE368EFCBB9041AEC8804D5A308D2D01C2D8
EM OV CS CA - G3C emSign Root CS CA - G3 4B2460A466F95FD40113BCDCCA2CEB29B3B093921DE45474DA7DF48874C630B1
EM OV CS CA - G3C AAA Certificate Services 84112972B8E59D14560AE7E7119654474AAD119990CF3722BFC1E3B91615E1FD

Root being removed by Chrome and Mozilla: emSign ECC Root CA - G3, SHA-256 86A1ECBA089C4A8D3BBE2734C612BA341D813E043CF9E8A862CD5C57A36BBE6B.

Verdict

Is the web PKI broken? No. This is one CA's key-generation failure, not a flaw in P-384 or ECDSA.
Are browser users at risk? Low risk. Chrome, Edge and Firefox block the keys and enforce Certificate Transparency. Firefox forks without OneCRL are the exception.
Is there confirmed exploitation? None reported as of 23 Oct 2026. Code signing remains a blind spot.
Is waiting for a patch enough? No. Several platforms have no fix yet. Block the keys yourself.
Who should act today? Operators of TLS-inspection proxies, Java and RHEL estates, Windows fleets without automatic trust updates, and anyone with certificates under emSign ECC Root CA - G3.
What to watch next eMudhra's answers to Chrome, its root-cause report, the timeline for retiring emSign Root CA - G1, and Apple and Microsoft statements.

This incident turns CA key compromise from a secrecy problem into an inventory problem. The keys are public and forging takes seconds. The control that matters is whether every system you rely on rejects these eight keys on both chain paths.

Sources

  1. Mozilla Bugzilla 2083449 — "eMudhra: Private key compromise of Intermediate Certificates".
  2. Mozilla Bugzilla 1965559 — 2025 disclosure of the new intermediates.
  3. Mozilla Bugzilla 1970727 — Sectigo problem report, June 2025.
  4. Mozilla Bugzilla 1970728 — eMudhra CRL incident report, 2025.
  5. crt.sh Mozilla disclosures — archived 3 June 2025.
  6. Google — "Protecting Chrome and Android users from compromised eMudhra intermediate CA certificates".
  7. Microsoft untrusted certificate trust list — disallowedcertstl.cab, disallowedcert.sst.
  8. ctlogs.dev — EM EV TLS CA - G3B issuance.
  9. CCADB — All Certificate Records.
  10. Cisco Talos — "Compromised intermediate certificates".
  11. Cloudflare — "eMudhra certificate compromise".
  12. CERT-In — Advisory CIAD-2026-0050, "Compromise of eMudhra Intermediate CA Certificates".
  13. Mozilla — Security Advisory 2026-111 (CVE-2026-113470).
  14. Go — GO-2026-6809 / CVE-2026-111943; golang-announce.
  15. OpenJDK — Vulnerability Advisory, 21 October 2026 (CVE-2026-91403).
  16. Red Hat — RHSB-2026-012.
  17. eMudhra — statement on distrust of global TLS intermediate and root CA; incident page.
  18. Fortinet — community guidance; Zscaler — trust post 32406.
  19. Apple — revocation service data valid.apple.com/g3/v329; format per Apple's open-source Security (trustd).
  20. Oracle — Security Alert CVE-2026-91403.
  21. Bun — v1.4.4 release; Python — certifi 2026.10.19.
  22. MeitY — official statement on X, 21 October 2026.
  23. BSE / NSE — daily bhavcopy, e.g. BSE 21 Oct 2026.
  24. eMudhra — "eMudhra to Exit global SSL/TLS Certificate Business", 22 October 2026; NSE filing.

Last updated 23 October 2026, 05:30 UTC. Based on open sources and public data. Statements about eMudhra's internal processes rely on eMudhra's public statements and the Mozilla incident record; inferences are labelled. TLP:CLEAR.