Repository navigation
fix(deps): update Go to 1.27.3 to distrust compromised eMudhra intermediates (release-0.48) - #7000
Merged
Merged
Conversation
…ediates The private keys of eight eMudhra (emSign) intermediate CA certificates were compromised (Mozilla bug 2083449). Several of them are cross-signed by Sectigo's AAA Certificate Services root, which every system trust store includes, so removing the emSign roots from ca-certificates does not stop chains through them. Go's verifier does no revocation checking; go1.27.3 (crypto/x509: distrust a handful of intermediates, CVE-2026-111943) rejects any chain containing those keys. Atlantis binaries built with go1.27.1 still accept them for its outbound TLS: VCS APIs, the Terraform releases API, and anything else it calls. go1.27.2 also fixed three other standard library vulnerabilities (GO-2026-6612, GO-2026-6613, GO-2026-6617) that go1.27.1 has. Bumps go.mod, the nested modules, the builder image in Dockerfile and testing/Dockerfile, each pinned by digest. Backport to release-0.48 for v0.48.2. Dockerfile and testing/Dockerfile are taken from main, which also brings the image refreshes main already has since v0.48.1: Debian curl/openssl pins at the trixie-security versions (#6990; the release-0.48 pins no longer exist in Debian, so its Debian image cannot build), Alpine 3.24.2 (#6931), conftest 0.70.1 (#6950), Terraform 1.16.5 (#6946, #6967) and the dockerfile frontend digest (#6954). Signed-off-by: PePe Amengual <2208324+jamengual@users.noreply.github.com>
…A roots Alpine 3.24 and Debian trixie-security shipped ca-certificates security updates on 2026-10-20 for the eMudhra intermediate key compromise: - Alpine 20261020-r0 drops emSign ECC Root CA - G3 (plus the planned removal of emSign Root CA - C1 and emSign ECC Root CA - C3). Alpine also removed 20260909-r0 from the 3.24 index, so the old pin no longer builds. - Debian 20250419+deb13u1 blacklists emSign ECC Root CA - G3 and the Comodo AAA Services root, which cross-signed some of the compromised intermediates (Debian bug #1151413). This covers the non-Go TLS clients in the image (git, curl, terraform provider downloads through the system store) that the Go 1.27.3 distrust does not reach. Signed-off-by: PePe Amengual <2208324+jamengual@users.noreply.github.com>
golangci-lint v2.13.2 cannot read the export data go1.27.3 writes and
fails every package with typecheck errors ("export data version 5 is
greater than maximum supported version 4"). v2.15.0 reports no issues
on the same tree.
Signed-off-by: PePe Amengual <2208324+jamengual@users.noreply.github.com>
golangci-lint v2.15.0's modernize/stringscut check flags the strings.LastIndex slicing in gitStatusContextFromSrc. CutLast returns the same before/after halves around the last '/', so behavior is unchanged; TestGitStatusContextFromSrc covers it. Signed-off-by: PePe Amengual <2208324+jamengual@users.noreply.github.com>
pseudomorph
approved these changes
Oct 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
what
Backport of #6999 to
release-0.48, so v0.48.2 can be cut from this branch with only the security fix plus image refreshes. No feature commits frommain.go.mod,e2e/go.mod,.github/scripts/update_top_issues_ranking/go.mod, theDockerfilebuilder (golang:1.27.3-alpine3.24@sha256:f2c872bc…) andtesting/Dockerfile(golang:1.27.3@sha256:95786118…).Dockerfileandtesting/Dockerfileare taken frommain(the cherry-pick conflicted only on the release branch's older 1.27.1 digests). That also brings the image refreshesmainalready has since v0.48.1:8.14.1-2+deb13u7/ openssl3.5.7-1~deb13u3(fix(docker): bump debian curl and openssl pins to trixie-security versions #6990). Required: thedeb13u5/deb13u2pins on this branch were removed from Debian, so the Debian image can't build fromrelease-0.48as it stands.why
The private keys of eight eMudhra intermediate CA certificates were compromised. go1.27.3 adds a built-in distrust of those keys to
crypto/x509(CVE-2026-111943), and v0.48.1 is built with go1.27.1. See #6999 for the full analysis and references.ca-certificates (second commit)
Alpine and Debian shipped
ca-certificatessecurity updates for this incident on 2026-10-20:20261020-r0dropsemSign ECC Root CA - G3(plus eMudhra's planned removal ofemSign Root CA - C1/emSign ECC Root CA - C3). I compared the old and new bundles: 121 → 118 certificates. Alpine also removed20260909-r0from the 3.24 index, so every Alpine image build fails until the pin moves. That's why fix: bound UnlockByPull repo scan and scan all Redis Cluster masters #6736's image builds are now red.20250419+deb13u1(trixie-security, #1151413) blacklistsemSign ECC Root CA - G3and theComodo AAA Services root, which cross-signed some of the compromised intermediates.This covers the non-Go TLS clients in the image (git, curl, and terraform/tofu/conftest through the system store), which the Go 1.27.3 distrust doesn't reach. Note: at the time of writing, Alpine's armv7 index still serves
20260909-r0, so thelinux/arm/v7Alpine build can fail until Alpine's armv7 builder catches up.golangci-lint (third commit)
go-lint.yml: golangci-lint v2.13.2 → v2.15.0. v2.13.2 can't read the export data go1.27.3 writes and fails every package withtypecheckerrors (export data version 5 is greater than maximum supported version 4). I ran both versions against this tree in agolang:1.27.3container: v2.13.2 reproduces the CI errors, and v2.15.0 reports0 issues.release
After merge:
gh release create v0.48.2 --target release-0.48 --latest, with a Highlights section covering the Go/x509 fix and the runtime image refresh.🤖 Generated with Claude Code