1. Executive summary
Eight intermediate CA private keys operated by Indian certificate authority eMudhra were found to be compromised, and the keys are weak enough to recover by brute force: researchers recovered values including 4, 56, 115, 66, 155, 156, 230 and 237 from public certificates in under a second. Anyone holding one of these keys can issue a certificate for any domain that a browser or operating system would accept, which allows impersonation of HTTPS endpoints and interception or modification of traffic. Mozilla, Chrome and Apple have shipped trust-store updates, and Cloudflare has patched WARP, cloudflared and its server-side products, but certificates signed by the compromised keys remain in the wild and any application with a bundled or custom trust store that still trusts eMudhra intermediates is exposed. For EMEA financial services the exposure is concentrated in origin servers, API clients and internal services that pin or bundle their own trust stores and do not inherit browser quick-revocation, so the risk persists after browser updates land. No CVE has been assigned and there is no CISA KEV entry; Cloudflare states its security review has not identified active exploitation of this issue on its services, and no actor has been attributed.
2. Regulatory framing
| Article | Trigger (the fact in this item) | Practical impact |
|---|---|---|
| DORA Art. 28 | The failure sits in a third-party certificate authority whose intermediates are trusted inside client TLS stacks, and Cloudflare states some customers must act on software and trust configurations they operate, especially origin servers. | Clients must assess which ICT third-party dependencies inherit eMudhra trust, obtain confirmation of remediation status from those providers, and record the dependency in their register of ICT third-party arrangements. |
| NIS2 Art. 21(2)(d) | Trust in a supplier's certificates is a supply chain security property, and the compromised keys let an attacker impersonate any endpoint a client's systems trust. | Entities in scope must be able to show supply chain security measures covering certificate trust, including how trust stores are inventoried and updated when a CA is distrusted. |
3. Technical analysis & attack chain
The compromise is a key-quality failure, not a protocol break. Cloudflare states explicitly that the work "addresses certificate-based authentication, not a weakness in TLS's encryption algorithms." The eight affected intermediates are trusted by browsers, operating systems and Cloudflare itself. Because the private keys are trivially guessable, an attacker does not need to steal anything further: the key material is recoverable from the public certificates.
Confirmed sequence, from the sources:
- On Saturday 2026-10-17 at 20:06 UTC, Mozilla received a report from a community member that private keys for eight eMudhra intermediate certificates were compromised (Dennis Jackson, Mozilla cryptography engineering, as quoted by The Register).
- Security researcher Scott Helme recovered the private keys from eMudhra's public certificates on a laptop in under a second. The recovered values include the integers 4, 56 and 115; other researchers found 66, 155, 156, 230 and 237.
- eMudhra revoked the certificates. Mozilla, Chrome and Apple updated their trust stores so their browsers no longer rely on the intermediates, subject to the user installing the update.
- Cloudflare became aware on 2026-10-19 at approximately 17:00 UTC and began assessment.
- Cloudflare published Cloudflare One Client and WARP app security updates across platforms on 2026-10-20 at 02:00 UTC, except the Cloudflare One Agent on iOS, which was still in app review.
- Cloudflare published the Cloudflare Tunnel (cloudflared) security update on 2026-10-20 at 09:15 UTC.
- CDN and server-side Zero Trust mitigations were fully deployed on 2026-10-20 at 19:20 UTC.
The attack this enables: an adversary holding a recovered key mints a certificate for a domain they do not control, signed by an intermediate the victim's software trusts. The forged certificate is accepted by any verifier that still trusts the eMudhra intermediate and has not received the revocation or distrust update. That positions the attacker between client and server to read or alter traffic, or to stand up a lookalike endpoint that passes certificate validation. The sources do not describe any observed use of the keys against a specific target, and Cloudflare reports no active exploitation on its own services.
The remediation gap is the part that matters to defenders. Browsers use quick-revocation mechanisms such as Chrome CRLSets and were fixed with a trust-store update. Most other software was not. Cloudflare notes that an API client may delegate certificate verification to an HTTP library, a language runtime, the operating system or a custom trust configuration, so updating an SDK alone may not change the verification policy. Applications with bundled or custom trust stores required separate assessment. A successful browser check does not prove a background service is protected, and a curl test does not prove it either if the application uses a different verifier. Validation has to run through the application's actual TLS path.
Single-sourced and unconfirmed points: the specific recovered key values (4, 56, 115, 66, 155, 156, 230, 237) come from Helme and other researchers as reported by The Register; Adverse Trace has not independently verified them. The claim that eMudhra has issued over 60 million certificates is eMudhra's own marketing figure as cited by The Register. The Register reported at time of writing that eMudhra had not responded to its inquiries. No threat actor is named in any source and no MITRE ATT&CK profile applies.
4. Mitigation & containment
P1, within 24 hours:
- Inventory every trust store your estate relies on, including OS stores, language runtimes (Java cacerts, Python certifi, Node bundled roots), container base images, and any application that ships its own CA bundle. For each, confirm whether the eMudhra intermediates are present and whether the vendor has published a distrust update.
- Update Cloudflare One Client / WARP to the 2026-10-20 release on all platforms, and cloudflared to the 2026-10-20 09:15 UTC release. Note the iOS Cloudflare One Agent was still pending app review at the time of Cloudflare's post; confirm current status before relying on it.
- Rebuild container images from updated base images rather than patching in place, then reload or restart the services that read the trust store. Cloudflare paired its trust-store updates with reloads, restarts and image deployments to activate them.
- Do not disable certificate verification to clear errors that appear after patching. Cloudflare warns this removes the authentication protection the update restores. Treat post-patch certificate errors as a signal that a dependency still trusts the revoked intermediates.
P2, within 72 hours:
- Walk the dependency tree, not just direct dependencies. Cloudflare notes some patched packages may be indirect dependencies. Apply the dependency updates listed in Dennis Jackson's crowdsourced package list, rebuild affected images, and confirm whether each application needs a reload, restart or redeployment.
- Test through each application's real TLS path using Jackson's test site, which provides browser checks and non-browser testing instructions. A passing browser test does not cover a background service, and a curl test does not cover an application with a different verifier.
- For origin servers and any service that authenticates remote endpoints with public certificates (proxies to origins, applications calling external APIs), confirm the trust configuration directly. Cloudflare flags origin servers as the area where customers most often need to act.
P3, within 7 days:
- Add a control that detects certificates chaining to eMudhra intermediates still being presented or accepted anywhere in the estate, and keep it running until every trust store is confirmed updated.
- Review certificate pinning and custom verification code for hard-coded eMudhra roots.
- Where a third-party provider's software bundles its own trust store, obtain written confirmation of its remediation status and record it against the DORA Art. 28 third-party assessment.
5. Indicators of compromise
No indicators of compromise available in the source material. The sources name no malicious domains, IP addresses, hashes, file paths or certificate serial numbers. The compromised artefacts are the eight eMudhra intermediate certificates, which the sources do not identify by name, serial or fingerprint.
Behavioural indicators:
| behaviour | where to observe | confidence |
|---|---|---|
| A certificate chaining to an eMudhra intermediate is accepted by an application after the distrust updates were published | TLS verification logs, proxy and load-balancer logs, application error logs | Medium; the sources confirm the keys are compromised and the intermediates revoked, but give no fingerprints to match on |
| Post-patch certificate errors appear in dashboards and an operator disables verification to clear them | Configuration change logs, application config diffs | Medium; Cloudflare describes this failure mode explicitly |
| A background service or API client continues to trust eMudhra after the SDK was updated | Dependency and trust-store inventory, TLS path testing | Medium; Cloudflare states SDK updates may not change the underlying verification policy |
6. Detection
Insufficient indicators to author detection rules. The sources provide no file hashes, distinctive strings, command-line flags, mutex names, registry keys, file paths or network artefacts belonging to the threat. The only concrete values are the recovered private-key integers (4, 56, 115, 66, 155, 156, 230, 237), which are not usable as detection strings, and the eMudhra name itself, which is a vendor identifier rather than an artefact of an attack. Detection effort should go to the behavioural controls in §5: alert on any TLS chain that terminates at an eMudhra intermediate, and alert on certificate verification being disabled in application configuration.
7. Sources
- Cloudflare, "8 eMudhra certificates are compromised. Here's what you need to know", 2026-10-20. https://blog.cloudflare.com/emudhra-certificate-compromise/
- The Hacker News, "Eight eMudhra CA Keys Compromised, Triggering Emergency Fixes Across Browsers and Software", 2026-10-20. https://thehackernews.com/2026/10/eight-emudhra-ca-keys-compromised.html
- The Register, "Indian certification authority eMudhra's private keys compromised – one of them was the number '4'", 2026-10-20. https://www.theregister.com/security/2026/10/20/indian-certification-authority-emudhras-private-keys-compromised-one-of-them-was-the-number-4/5304312
8. Adverse Trace position
Adverse Trace assesses this as a high-impact trust failure with no confirmed exploitation and no attributed actor. The severity is driven by the weakness of the keys and the breadth of trust in the intermediates, not by any observed campaign: the keys are recoverable in under a second, and any verifier that still trusts an eMudhra intermediate will accept a forged certificate for any domain. Client impact depends entirely on trust-store hygiene. Firms whose TLS verification runs through browsers or managed platforms that received the distrust update are largely covered; firms running origin servers, API clients, container images or internal services with bundled trust stores carry the exposure until each one is inventoried and updated. We will track vendor distrust publications and any report of forged certificates chaining to eMudhra, and we will reissue this advisory if a named actor or confirmed exploitation emerges. Clients should treat the P1 trust-store inventory as the gating action and report back on any application that cannot be updated, since those are the endpoints an impersonation attack would target.
Published via PulseTrace — Adverse Trace threat intelligence.