Compromised eMudhra intermediate certificate acceptance in Go crypto/x509
CVE-2026-111943 is a certificate-validation vulnerability affecting Go standard library versions before 1.26.10 and Go 1.27 releases before 1.27.3. Applications using crypto/x509 may continue accepting certificate chains through eight compromised eMudhra intermediate certificate authorities when trust-store distrust updates have not taken effect. The intermediates comprise six TLS issuers and two code-signing issuers whose P-384 private keys were generated with only eight bits of effective key space, making recovery trivial. Continued acceptance can enable impersonation and man-in-the-middle attacks. Patched versions add an explicit denylist that causes certificate verification through Verify to reject the compromised intermediate public keys.
What it means and what to do now: patch path, interim mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
Affected applications can accept fraudulently issued certificates as authentic, undermining certificate-based peer authentication. An attacker who intercepts or redirects TLS connections can impersonate legitimate services and read or modify application traffic, compromising confidentiality and integrity. Systems accepting code-signing chains through the two compromised code-signing intermediates also face potential software-authenticity risks. No direct availability impact is identified. Private-key recovery was independently demonstrated, but malicious certificate issuance or widespread exploitation had not been established.
If you can’t patch tonight, do this now.
Explicitly distrust the eight compromised eMudhra intermediate public keys in certificate-validation configurations where supported. Apply available system and application trust-store updates and verify that running applications actually load the changes. Inventory independent certificate bundles in command-line tools, containers, agents, and embedded devices, and test that affected chains are rejected. Browser-specific blocking updates do not protect unrelated applications, and a system trust-store update alone may not cover every Go configuration.
Patch, then assume compromise.
Upgrade to Go 1.26.10, Go 1.27.3, or a later fixed release. Rebuild and redeploy affected Go applications and container images with the corrected standard library; updating the development toolchain alone does not repair existing binaries. For distribution-managed applications, install vendor security updates containing rebuilt packages. Update system trust stores and independent or embedded certificate bundles, and replace legitimate certificate chains invalidated by the emergency distrust measures.
No valid public exploits. Mallory filtered out 5 candidates as fakes, detection scripts, or README-only repos.
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
203 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.