CVE-2026-111943: Distrust compromised intermediate certificates in crypto/x509
Affected versions include emSign ECC Root CA - G3, which can allow certificate paths through distrusted emSign intermediates.
Affected versions may accept certificate paths containing distrusted emSign intermediate public keys. The private keys corresponding to these intermediates are now well known.
Version 1.0.10+ removes this root.
The webpki-roots 0.26.11 compatibility package contains no independent trust store and re-exports the roots from its separately resolved 1.x dependency. That parent dependency must resolve to 1.0.10 or newer; an older parent remains affected by this advisory.
Other sources
Affected versions include emSign ECC Root CA - G3, which can allow certificate paths through distrusted emSign intermediates.
Affected versions may accept certificate paths containing distrusted emSign intermediate public keys. The private keys corresponding to these intermediates are now well known.
Version 1.0.10+ removes this root.
Version 0.26.11 is a compatibility wrapper that re-exports parent::TLSSERVERROOTCERTS from its webpki-root-certs 1.x dependency; it contains no separate root certificate list. Its resolved 1.x dependency must be updated to 1.0.10 or later.
— OSV
Affected versions may accept certificate paths containing distrusted emSign intermediate public keys when the configured trust anchors allow such paths. The private keys corresponding to these intermediates are now well known.
Versions 0.103.16 and 0.104.0-alpha.8 reject paths containing these public keys.
— OSV
Go releases 1.27.3 and 1.26.10 address the following issue:
https://groups.google.com/g/golang-nuts/c/K22sG2AYnKU
crypto/x509: mitigation for security concerns with a specific Certificate Authority
We're blocking trust in a small set of intermediate certificates due to specific security concerns around their operation.
Verify will now filter out chains which contain these intermediates, preventing them from being returned to the caller.
We highly recommend immediately upgrading to this release.
This is CVE-2026-111943 and Go issue https://go.dev/issue/82345.
— Red Hat
Go: CVE-2026-111943 Distrust compromised intermediate certificates in crypto/x509
— Microsoft
On most platforms, Go uses the given system root certificates. However, in some narrower cases, the system trust stores may not be updated without further action. To defend against the narrower set of cases that may remain affected, a denylist was added in crypto/x509 to return an error when calling Verify with any of the known intermediate certificates that are no longer considered to be trustworthy.
— Ubuntu
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
bitnami/golangto a version that resolves this vulnerability.Fixed in 1.26.10 - Upgrade
Upgrade
bitnami/golangto a version that resolves this vulnerability.Fixed in 1.27.3 - Upgrade
Upgrade
go/stdlibto a version that resolves this vulnerability.Fixed in 1.26.10 - Upgrade
Upgrade
go/stdlibto a version that resolves this vulnerability.Fixed in 1.27.3 - Upgrade
Upgrade
rust/rustls-webpkito a version that resolves this vulnerability.Fixed in 0.103.16 - Upgrade
Upgrade
rust/rustls-webpkito a version that resolves this vulnerability.Fixed in 0.104.0-alpha.8 - Upgrade
Upgrade
rust/webpki-rootsto a version that resolves this vulnerability.Fixed in 0.26.11 - Upgrade
Upgrade
rust/webpki-rootsto a version that resolves this vulnerability.Fixed in 1.0.10 - Upgrade
Upgrade
rust/webpki-root-certsto a version that resolves this vulnerability.Fixed in 0.26.11 - Upgrade
Upgrade
rust/webpki-root-certsto a version that resolves this vulnerability.Fixed in 1.0.10 - Upgrade
Upgrade
debian/golang-1.26to a version that resolves this vulnerability.Fixed in 1.26.10-1 - Upgrade
Upgrade
debian/golang-1.27to a version that resolves this vulnerability.Fixed in 1.27.3-1 - Upgrade
Upgrade
alpine/dockerto a version that resolves this vulnerability.Fixed in 29.9.2-r0 - Upgrade
Upgrade
alpine/docker-cli-buildxto a version that resolves this vulnerability.Fixed in 0.38.1-r0 - Upgrade
Upgrade
alpine/docker-cli-composeto a version that resolves this vulnerability.Fixed in 5.6.1-r0 - Upgrade
Upgrade
alpine/goto a version that resolves this vulnerability.Fixed in 1.26.10-r0 - Upgrade
Upgrade
Goto a version that resolves this vulnerability.Fixed in 1.27.3 - Upgrade
Upgrade
Goto a version that resolves this vulnerability.Fixed in 1.26.10 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 1.0.10 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 0.103.16 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 0.104.0-alpha.8
Event History
Frequently Asked Questions
Which deployments may need additional attention beyond normal system trust-store updates?
The concern is limited to narrower cases where the system trust store may not be updated without further action. On most platforms, Go uses the system root certificates provided to it.
What operation is protected by the added denylist?
The denylist is applied when crypto/x509 Verify is called. Verification returns an error if the chain includes any known intermediate certificate that is no longer considered trustworthy.