Skip to content

fix(launcher): build with Go 1.26.10 for eMudhra CA distrust - #2

Merged
calvin-archastro merged 1 commit into
mainfrom
fix/emudhra-ca-trust
Oct 21, 2026
Merged

calvin-archastro merged 1 commit into
mainfrom
fix/emudhra-ca-trust

Conversation

@calvin-archastro

@calvin-archastro calvin-archastro commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Review on ArchCode

Problem

The eMudhra intermediate CA compromise (disclosed 2026-10-20, https://emudhra.we-have-a-problem.com) is fixed in the Go standard library in Go 1.26.10 / 1.27.3. The Clapper launcher/ is a shipped native binary (built by scripts/build-release.mjs with go build, CGO off) that downloads the runtime archive over HTTPS from GitHub. launcher/go.mod has only go 1.24 and no toolchain pin, so it is built with whatever Go the release machine has, and CI uses go 1.24.

What changed

  • launcher/go.mod: add toolchain go1.26.10. The go 1.24 directive is unchanged, so the language minimum and the "Go 1.24+" build prerequisite in the docs still hold; the Go command fetches go1.26.10 when the local Go is older.
  • CI already uses go-version-file: launcher/go.mod, which now selects 1.26.10. No workflow edits needed. There is no goreleaser; release builds run go build in launcher/ via build-release.mjs.

Scope

Backend-only (launcher build toolchain).

Risk

Low. No source change; launcher tests pass on 1.26.10. Release machines with GOTOOLCHAIN=local and Go older than 1.26.10 will now error instead of silently building with a vulnerable stdlib.

User impact

Launchers built after this change embed a patched crypto/x509. Already-published launchers are unchanged.

Testing

  • go -C launcher vet ./..., go -C launcher test -race ./..., gofmt -l launcher on go1.26.10: pass
  • CI runs go -C launcher test -race ./... plus the rest of the pnpm suite.

Follow-ups

  • Rebuild and publish a new launcher release (per docs/releasing.md) so users get the patched binary.

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@calvin-archastro
calvin-archastro merged commit a33e49a into main Oct 21, 2026
2 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