Skip to content

fix(keploy-ci): ship go1.27.3 in every image (eMudhra CA compromise) - #38

Merged
slayerjain merged 1 commit into
mainfrom
fix/go-1.27.3-emudhra
Oct 22, 2026
Merged

slayerjain merged 1 commit into
mainfrom
fix/go-1.27.3-emudhra

Conversation

@slayerjain

Copy link
Copy Markdown
Member

Why

The private keys of eight eMudhra intermediate CAs were found recoverable (2026-10-17; Mozilla). go1.27.3 / go1.26.10 (2026-10-19) ship a crypto/x509 security fix that key-blocks those intermediates, so Go clients refuse certificates chaining to them regardless of the trust store (Debian's ca-certificates still trusts the Sectigo cross-signed copies).

keploy/keploy and keploy/enterprise are moving to go 1.27.3 and build with GOTOOLCHAIN=local, so every CI image must ship exactly that patch — otherwise builds either fail or download a compiler each time.

What

  • keploy-ci: GO_VERSION=1.27.3 and the go.dev SHA-256s for linux amd64/arm64
  • keploy-ci-go-build, keploy-ci-golint: golang:1.27.3-bookworm@sha256:972b4110… (multi-arch index)
  • keploy-ci-ebpf-objects: same Go patch (one Go patch across all images). keploy/ebpf's objects-reproducible lane stays on its pinned ebpf-objects-1.2.46 digest until it re-pins deliberately.
  • README

Verified

  • SHA-256s match https://go.dev/dl/?mode=json; the golang digest is the current index for 1.27.3-bookworm (amd64 + arm64).
  • Built keploy-ci-golint and keploy-ci-go-build locally: both report go1.27.3; golint's built-in typecheck probe passes with golangci-lint v2.14.0.
  • docker-build.yml's go-patch check passes against the tree.

After merge

Tag v1.2.48 so publish.yml publishes the images; keploy/enterprise then moves its pipelines to them.

go1.27.3 (2026-10-19) carries the crypto/x509 security fix that blocks
the eight compromised eMudhra intermediate CA keys by public key, so Go
clients reject certificates chaining to them whatever the trust store
says (Debian's still trusts the Sectigo cross-signed copies).

keploy/keploy and keploy/enterprise now require go >= 1.27.3 and build
with GOTOOLCHAIN=local, so these images must ship exactly that patch:
an older image fails the build instead of downloading a compiler.

- keploy-ci: GO_VERSION and both tarball SHA-256s (go.dev/dl)
- keploy-ci-go-build, keploy-ci-golint: golang:1.27.3-bookworm by digest
- keploy-ci-ebpf-objects: same Go; its lane stays on its pinned digest
  until keploy/ebpf re-pins

Signed-off-by: Shubham Jain <shubhamkjain@outlook.com>
@slayerjain
slayerjain merged commit 17f447c into main Oct 22, 2026
29 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant