Repository navigation
fix(api): bump Go toolchain to 1.26.2 for stdlib CVE fixes - #96
Conversation
Closes #95. Adds `toolchain go1.26.2` to apps/api/go.mod so the build pulls a Go release that includes the fixes for four standard-library vulnerabilities flagged by govulncheck: - GO-2026-4866 — crypto/x509 case-sensitive excludedSubtrees name constraints (auth bypass) - GO-2026-4870 — crypto/tls unauthenticated TLS 1.3 KeyUpdate record (DoS) - GO-2026-4946 — crypto/x509 inefficient policy validation - GO-2026-4947 — crypto/x509 unexpected work during chain building The `go` directive stays at 1.24 because no language features above that version are used; only the toolchain pin is bumped. `go mod tidy` and `go vet ./...` clean locally on go1.26.2. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Warning Rate limit exceeded
Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 5 minutes and 8 seconds. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughAdded a Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Pull request overview
Updates the API module’s Go toolchain selection to ensure builds and security scans use a patched Go standard library without changing the module’s declared language/version semantics.
Changes:
- Adds a
toolchain go1.26.2directive toapps/api/go.mod. - Documents the specific stdlib vulnerability IDs motivating the toolchain pin while keeping
go 1.24.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@apps/api/go.mod`:
- Line 9: The repo's Go toolchain is pinned to "toolchain go1.26.2" in go.mod
but CI and container builds still use older Go (e.g., references to "go-version"
setup and "FROM golang:1.24" base images), causing a mismatch; update all CI
workflow "go-version" / setup-go entries and all Dockerfile "FROM golang:..."
base image tags to 1.26.2 (or read the version from go.mod) so the toolchain is
consistent across builds and images, and re-run the provided verification script
to confirm the three checks (go.mod toolchain, CI setup-go/go-version, and
Docker FROM lines) now report 1.26.2.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: d670878f-148c-4bf1-ae47-17c6d501849a
📒 Files selected for processing (1)
apps/api/go.mod
The Go toolchain pin to 1.26.2 in go.mod (this PR) caused the existing golangci-lint-action default version (built with go1.24) to refuse to load the project config with: can't load config: the Go language version (go1.24) used to build golangci-lint is lower than the targeted Go version (1.26.2) Two changes: 1. setup-go: 1.24 → 1.26 (project now targets 1.26.2 toolchain) 2. golangci-lint-action: pin to v2.11.4, which is built with Go 1.26+ and can read the new toolchain pin
The v6 action does not understand golangci-lint v2.x version strings. Per golangci/golangci-lint-action: 'golangci-lint v2 is not supported by golangci-lint-action v6, you must update to golangci-lint-action v7'. Bumping straight to v8 (latest release). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
golangci-lint v2 (newly enabled by the v8 action bump) flagged a pre-existing errcheck violation: fmt.Fprintf's return value was unchecked. Wrap in an if and log on failure.
|



Closes #95.
Adds
toolchain go1.26.2toapps/api/go.modso the build pulls a Go release that includes the fixes for four standard-library vulnerabilities flagged by govulncheck on main:The
godirective stays at 1.24 because no language features above that version are used; only the toolchain pin is bumped.Test plan
go mod tidyclean locally on go1.26.2go vet ./...cleandependency-audit / govulncheckshould pass🤖 Generated with Claude Code
Summary by CodeRabbit