Go 1.27.3 and Go 1.26.10, released on October 20, make Go's certificate verifier reject any certificate chain that passes through one of eight intermediate certificate authority keys.
Programs built on the new release will refuse connections to sites and services whose certificates were issued under those keys. The Go team says the keys belong to one certificate authority it has not named, and that it is blocking them because of "specific security concerns around their operation."
It handled the fix on its URGENT track, the one reserved for its most serious issues, and recommends upgrading immediately.
Two days earlier, on October 17, Mozilla added six intermediate certificates issued by eMudhra's emSign Root TLS CA - G3 to OneCRL, the list Firefox uses to block certificates. The Mozilla bug behind those entries is closed to the public, and neither Mozilla nor Go has said what prompted its action. Whether Chrome, Apple, or Microsoft have taken similar action is not established.
Go's change lists only the SHA-256 hashes of the eight keys. A commenter on the Go issue matched all eight to eMudhra intermediates by looking the hashes up in certificate records.
By that matching, six are TLS intermediates issued under the same emSign Root TLS CA - G3 that Mozilla's entries name, and two are code-signing intermediates under emSign Root CS CA - G3:
- TLS, domain validated: EM DV TLS CA - G3B (eMudhra BV, Netherlands) and EM DV TLS CA - G3C (eMudhra Inc, U.S.)
- TLS, organization validated: EM OV TLS CA - G3B and EM OV TLS CA - G3C
- TLS, extended validation: EM EV TLS CA - G3B and EM EV TLS CA - G3C
- Code signing: EM OV CS CA - G3B and EM OV CS CA - G3C
The Hacker News has not independently checked the hashes against the certificates. Mozilla's six entries carry the same issuing root, but Mozilla's records do not name the six certificates.
The filter runs whenever a Go program verifies a certificate chain. It hashes each certificate's public key rather than the certificate itself, so a cross-signed copy of one of the eight keys, the same key signed by a different root, is caught as well.
It is applied in Go's own verifier and in the macOS and Windows code paths that hand verification to the operating system. A rejected chain returns the error x509: no valid chains built.
The change contains no setting to turn the filter off. Given the structure of the code, it also applies when a program supplies its own set of trusted roots, so a private deployment that intentionally trusts one of the eight keys will fail too. The Go team has not said whether that is intended.
Go's verifier "doesn't do any revocation checking," as its documentation warns. It also does not read the block lists browsers use, such as the CRLSets Chrome used against rogue Google certificates this month.
Blocking a key therefore means shipping it in a release, and programs keep the old behavior until they are rebuilt. Projects including Bluesky's indigo were rebuilt on the new releases on October 20.
What happened at the certificate authority is not public. Go's announcement gives one sentence about security concerns, and the release came without the pre-announcement Go sent before its October 8 security releases.
Go's security policy defines URGENT track issues as "a threat to the Go ecosystem's integrity" or flaws being actively exploited with severe damage, and says there are no recent examples. Go has not said which of those applied.
On the issue, one user asked for the committed patch to explain "who and what they correspond to." The Go team had not replied as of October 20.
eMudhra is an Indian certificate authority that sells certificates under the emSign brand. Its roots emSign Root CA - G1 and emSign ECC Root CA - G3 are in the Chrome, Apple , and Mozilla root stores. The company told Mozilla earlier this year that its newer TLS root is cross-signed by emSign Root CA - G1, which is how certificates under the newer root chain to a trusted root.
In September, a six-week public discussion of eMudhra's request to add ten new roots to the root programs run by browser and operating-system makers, including emSign Root TLS CA - G3, closed with no objections.
Certificates logged for eMudhra's own domains, including emsign.com and emudhra.com, chain through other eMudhra intermediates, according to certificate transparency records The Hacker News checked on October 20. The company's repository contained no notice about the intermediates as of that day, and The Hacker News found no public statement from eMudhra.
Go 1.25 and older releases are out of support and get no fixes, so the only route is a supported release from the download page. No temporary workaround exists in any source, and the filter cannot be disabled.
Sites and services whose certificates chain through the eight keys will need certificates from a different intermediate before rebuilt Go clients can connect to them.




