eMudhra · Exploitation confirmed

Eight eMudhra intermediate CA keys were recoverable; fixes released

· 1 min read

The private keys of eight eMudhra (emSign) intermediate certificate authorities were shown to be recoverable from their own public certificates on October 17, 2026, and were revoked on October 18. Go, Java, Python, Node.js, Electron, NSS and other ecosystems have shipped releases that remove trust; the Teku notice reports no exploitation so far. Update runtimes, Docker images and certificate packages.

WhatsApp LinkedIn X
CriticalSupply chainExploitation confirmedPartial fix
In this article
  1. What happened
  2. Why it matters
  3. What to do
  4. For the technical team
  5. Timeline
  6. Sources

What happened

Private keys of eight eMudhra (emSign) intermediate certificate authorities, which issue TLS certificates, were shown on October 17, 2026 to be recoverable by anyone from the public certificates. eMudhra revoked them on October 18, and browsers, operating systems and runtimes have blocked trust. Anyone not updated remains exposed, especially on Java, which does not check revocation by default.

Incidents like this, every morning

The ones that need action first, in a 3-minute read.

Free · 1 email a day, in the morning · no spam, unsubscribe in 1 click

Why it matters

With these keys, an attacker can forge certificates and intercept HTTPS connections for systems still trusting the compromised authorities, reading data and credentials in transit. In Web3Signer, an attacker who reaches the HTTP port can request signatures with the victim's keys and, on key vaults, read the keys returned, according to Consensys. No exploitation has been reported so far, according to Teku.

What to do

Update now: Java 27.0.1.0.2, 25.0.5.0.2, 21.0.13.0.2, 17.0.21.0.2, 11.0.33.0.2 or 8u511 or later; Go 1.27.3 or 1.26.10; Node.js 22.23.4, 24.22.1 or 26.12.1; Electron 44.9.1, 43.8.1 or 42.11.16; Python 3.15.2, 3.14.10, 3.13.18, 3.12.16 or 3.11.18; certifi 2026.10.19; pip 26.2.2; NSS 3.131.1. Rebuild Docker images with old Java: Web3Signer up to 26.10.1 and Teku up to 26.10.2 remain unfixed, and updating Java on the host does not fix the container.

For the technical team

CVE
CVE-2026-111943, CVE-2026-91403, CVE-2026-115557, CVE-2026-114820
Affected
eMudhra (emSign) emSign Global TLS intermediates; trust stores estilo Mozilla em Go, Electron, Node.js, Python (certifi, pip, uv), NSS e · Clients trusting eMudhra ECC intermediates before the October 17-21, 2026 browser/OS/runtime blocks; Go before 1.27.3/1.26.10; Electron before 44.9.1/43.8.1/42.11.16; Node.js before the October 21 security releases; certifi 2019.3.9 to before 2026.10.19 (GHSA-6q48-6c7w-9gw2); pip before 26.2.2 (vendored certifi); uv before 0.13.4; Web3Signer Docker images up to 26.10.1 and consensys/teku images up to 26.10.2, including -jdk25 and -jdk26 tags (Eclipse Temurin with neither fix).
Exploitation
No exploitation reported, according to the Teku notice. Anyone can derive the compromised keys from the public certificates; the network position is the only barrier. The eight intermediates were revoked on October 18, 2026.
Fix
Electron 44.9.1/43.8.1/42.11.16; Go 1.27.3/1.26.10; Node.js 22.23.4/24.22.1/26.12.1; certifi 2026.10.19; Python 3.15.2/3.14.10/3.13.18/3.12.16/3.11.18 (ssl module denylist, CVE-2026-115557); NSS 3.131.1; Java 27.0.1.0.2/25.0.5.0.2/21.0.13.0.2/17.0.21.0.2/11.0.33.0.2/8u511+ (CVE-2026-91403); Deno 2.9.8; rustls-webpki 0.103.16/webpki-roots 1.0.10; pip 26.2.2/uv 0.13.4/sigstore 4.5.1/conda 26.9.4/pixi 0.82.1; Docker Desktop 4.96.2; mitmproxy 12.3.0; LibreSSL 4.2.3/4.3.4/4.4.0; Ubuntu/Debian/Alpine/Fedora/Arch ca-certificates updates.
Vector
Eight eMudhra (emSign) ECC intermediate CAs: private keys recoverable from their public certificates; anyone can issue certificates chaining to them (Besu report, Web3Signer and Teku notices). Java does not check revocation by default; without the fix, an attacker only needs a position on the network path to intercept outbound HTTPS, and in Web3Signer with --tls-allow-ca-clients=true a forged client certificate grants access to the HTTP API with no interception.
More details
Timeline (Besu, Web3Signer, Teku): keys shown recoverable October 17, 2026; revoked October 18; browser, OS and Go blocks followed; OpenJDK blocked the compromised intermediates and their Sectigo cross-signs on October 20 (CVE-2026-91403) and removed four eMudhra and Sectigo roots on October 23 (CVE-2026-114820). CVEs listed by Besu: CVE-2026-111943, CVE-2026-91403, CVE-2026-115557, CVE-2026-114820. Mitigations without a Java update: pin the signer certificate (dedicated truststore in Teku), mutual TLS with known client certificates, keep endpoints on a private network, use local files instead of https URLs. The PSF states normal pip uses, including upgrading pip itself, are now safe on the new Python releases even if pip is not updated. Ubuntu/Debian Java uses /etc/ssl/certs/java/cacerts, which takes extra steps to update (Debian bug 1069251). Updating Java on the host does not change the Java inside Docker images.

Indicators (IoCs)

  • emSign ECC Root CA - G3
  • AAA Certificate Services

Timeline

  1. Besu report maps the eMudhra CA compromise and fixes across Go, Electron, Node.js, Python, NSS and Java.

Sources 30 sources

See all 30 sources

Get the next one tomorrow morning

One email a day with what changed, what to fix first and how. After signing up you get the full feed.

Free · 1 email a day, in the morning · no spam, unsubscribe in 1 click

Share it with your team

Whoever handles security with you should get it too.

LinkedIn X

Your colleague gets a confirmation request. Nothing is sent unless they confirm.

See all news

Read also

Before you go: get this every day

The HIFY Radar daily edition lands every morning with the incidents that need action. Free.

Free · 1 email a day, in the morning · no spam, unsubscribe in 1 click