OADP-7565: Go 1.25.8 toolchain + golang.org/x/* CVE bumps#166
OADP-7565: Go 1.25.8 toolchain + golang.org/x/* CVE bumps#166
Conversation
- Add toolchain go1.25.8 (fixes GO-2026-4337, GO-2026-4340, GO-2026-4341, GO-2026-4342, CVE-2026-25679, CVE-2026-27137) - golang.org/x/net → v0.52.0 (fixes GHSA-vvgc-356p-c3xw) - golang.org/x/crypto → v0.49.0 (fixes GHSA-j5w8-q4qc-rx2x, GHSA-f6x5-jh6r-wrfv) - Transitive bumps: x/sys → v0.42.0, x/text → v0.35.0, x/term → v0.41.0, x/mod → v0.33.0 - CI workflows: use go-version-file instead of hardcoded versions - test.yml: bump actions/setup-go@v4 → @v6 (supports toolchain directive) Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>
|
@kaovilai: This pull request references OADP-7565 which is a valid jira issue. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: kaovilai The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
📝 WalkthroughWalkthroughThe pull request updates Go toolchain configuration in CI workflows to dynamically derive the Go version from Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@kaovilai: This pull request references OADP-7565 which is a valid jira issue. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
There was a problem hiding this comment.
Pull request overview
Updates the project’s Go toolchain and several golang.org/x/* dependencies to address security advisories, and aligns CI to derive the Go version from go.mod.
Changes:
- Added
toolchain go1.25.8togo.modand bumpedgolang.org/x/{net,mod,sys,term,text}versions. - Updated
go.sumto match the new dependency graph. - Updated GitHub Actions workflows (
test,lint) to useactions/setup-go@v6withgo-version-file: go.mod.
Reviewed changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
go.mod |
Adds toolchain directive and bumps golang.org/x/* indirect dependencies. |
go.sum |
Updates checksums corresponding to bumped golang.org/x/* modules. |
.github/workflows/test.yml |
Uses setup-go@v6 and reads Go version from go.mod. |
.github/workflows/lint.yml |
Reads Go version from go.mod (already on setup-go@v6). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - name: Set up Go | ||
| uses: actions/setup-go@v4 | ||
| uses: actions/setup-go@v6 | ||
| with: | ||
| go-version: '1.24' | ||
| go-version-file: 'go.mod' |
There was a problem hiding this comment.
Only test.yml/lint.yml were updated to actions/setup-go@v6, but other workflows (e.g. cross-arch-build-test.yml, release.yml, quay_binaries_push.yml) still use actions/setup-go@v5. If @v6 is required for correct toolchain directive handling, those workflows may not use the expected toolchain (or will rely on Go’s auto-download behavior). Consider bumping the remaining workflows to @v6 for consistency and to avoid CI drift.
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 `@go.mod`:
- Around line 96-101: go.mod is missing a require for golang.org/x/crypto at
v0.49.0 and go.sum still contains old pseudo-versions; add a module requirement
for golang.org/x/crypto v0.49.0 to go.mod, run the module resolution/cleanup
workflow to refresh the dependency graph and update go.sum (e.g., resolve and
tidy modules), then verify the resolved version appears (inspect resolved
modules list to confirm golang.org/x/crypto => v0.49.0) and that no older
pseudo-versions remain in go.sum.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 9633672f-3bf6-41c3-88cb-c0d7fcb91949
⛔ Files ignored due to path filters (1)
go.sumis excluded by!**/*.sum
📒 Files selected for processing (3)
.github/workflows/lint.yml.github/workflows/test.ymlgo.mod
| golang.org/x/mod v0.33.0 // indirect | ||
| golang.org/x/net v0.52.0 // indirect | ||
| golang.org/x/oauth2 v0.33.0 // indirect | ||
| golang.org/x/sys v0.40.0 // indirect | ||
| golang.org/x/term v0.37.0 // indirect | ||
| golang.org/x/text v0.31.0 // indirect | ||
| golang.org/x/sys v0.42.0 // indirect | ||
| golang.org/x/term v0.41.0 // indirect | ||
| golang.org/x/text v0.35.0 // indirect |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== go.mod x/* entries =="
rg -n '^\s*golang\.org/x/(crypto|mod|net|sys|term|text)\s+v' go.mod || true
echo
echo "== go.sum x/crypto entries =="
rg -n '^golang\.org/x/crypto\s+v' go.sum | sort -u || true
echo
echo "Expected result:"
echo "- Either no golang.org/x/crypto entry (not in resolved graph),"
echo "- or only versions >= v0.49.0."Repository: migtools/oadp-cli
Length of output: 1691
golang.org/x/crypto v0.49.0 is not in the resolved dependency graph.
While lines 96–101 bump other golang.org/x/* modules, golang.org/x/crypto is absent from go.mod. The go.sum file contains only old pseudo-versions from 2018–2021. Per the PR objective, this should resolve to at least v0.49.0. Verify the full dependency graph includes the patched version.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@go.mod` around lines 96 - 101, go.mod is missing a require for
golang.org/x/crypto at v0.49.0 and go.sum still contains old pseudo-versions;
add a module requirement for golang.org/x/crypto v0.49.0 to go.mod, run the
module resolution/cleanup workflow to refresh the dependency graph and update
go.sum (e.g., resolve and tidy modules), then verify the resolved version
appears (inspect resolved modules list to confirm golang.org/x/crypto =>
v0.49.0) and that no older pseudo-versions remain in go.sum.
|
Closed in favor of #167. Prior PRs were pushed directly to Note Responses generated with Claude |
Summary
toolchain go1.25.8directive to fix Go stdlib CVEs:golang.org/x/net→ v0.52.0 (fixes GHSA-vvgc-356p-c3xw, XSS in HTML tokenizer)golang.org/x/crypto→ v0.49.0 (fixes GHSA-j5w8-q4qc-rx2x, GHSA-f6x5-jh6r-wrfv)x/sys→ v0.42.0,x/text→ v0.35.0,x/term→ v0.41.0,x/mod→ v0.33.0go-version-file: 'go.mod'instead of hardcoded versionstest.yml: bumpedactions/setup-go@v4→@v6(supports toolchain directive)Supersedes #164
Test plan
go build ./...passesNote
Responses generated with Claude
Summary by CodeRabbit