Skip to content

fix(deps): bump golang.org/x/text to v0.39.0 (GO-2026-5970) - #1481

Merged
rdimitrov merged 1 commit into
mainfrom
rdimitrov/fix-x-text-vuln
Jul 27, 2026
Merged

fix(deps): bump golang.org/x/text to v0.39.0 (GO-2026-5970)#1481
rdimitrov merged 1 commit into
mainfrom
rdimitrov/fix-x-text-vuln

Conversation

@rdimitrov

Copy link
Copy Markdown
Member

Problem

The Build, Lint, and Validate CI job is failing on every open PR (#1480, #1474, #1449) and on main. The failing step is govulncheck:

Vulnerability #1: GO-2026-5970
    Infinite loop on invalid input in golang.org/x/text
    Found in: golang.org/x/text@v0.38.0
    Fixed in: golang.org/x/text@v0.39.0

This is not caused by any of those PRs' changes — govulncheck-action fetches the live vulnerability database at runtime, so when GO-2026-5970 was published, every branch based on the current main started failing. The vulnerable symbol is reachable via:

  • auth.DefaultHTTPKeyFetcher.FetchKeyhttp.Client.Do
  • database.NewTestDBpgx.Connect

so the scan exits with code 3.

Fix

Bump the (indirect) golang.org/x/text dependency from v0.38.0 to the fixed v0.39.0 and go mod tidy.

Verification

  • govulncheck ./... no longer reports GO-2026-5970 (confirmed locally).
  • go build ./... passes.

Note

The deploy/ module pins golang.org/x/text@v0.37.0, which is also < v0.39.0. It is a separate module and is not scanned by this CI job (govulncheck runs ./... in the root module only), so it does not block CI. Worth a follow-up bump for hygiene, but out of scope here.

🤖 Generated with Claude Code

govulncheck in the "Build, Lint, and Validate" CI job fails on every open
PR (and on main) because golang.org/x/text@v0.38.0 is affected by
GO-2026-5970 (infinite loop on invalid input). The vulnerable symbol is
reachable via auth.DefaultHTTPKeyFetcher.FetchKey -> http.Client.Do and
database.NewTestDB -> pgx.Connect, so the scan exits non-zero.

Bumping the (indirect) dependency to the fixed v0.39.0 clears the finding.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 27, 2026 09:59

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the root Go module’s indirect dependency on golang.org/x/text to resolve govulncheck failures caused by the newly published vulnerability GO-2026-5970, restoring CI signal on main and open PRs.

Changes:

  • Bump golang.org/x/text from v0.38.0 to v0.39.0 in the root go.mod (indirect dependency).
  • Update go.sum entries to match the new module version/hashes after tidy.

Reviewed changes

Copilot reviewed 1 out of 2 changed files in this pull request and generated no comments.

File Description
go.mod Updates the root module’s indirect golang.org/x/text requirement to v0.39.0 to remediate GO-2026-5970.
go.sum Refreshes dependency checksums to reflect golang.org/x/text@v0.39.0.

@rdimitrov
rdimitrov merged commit 8d35175 into main Jul 27, 2026
8 checks passed
@rdimitrov
rdimitrov deleted the rdimitrov/fix-x-text-vuln branch July 27, 2026 10:03
rdimitrov added a commit that referenced this pull request Jul 27, 2026
Consolidates the five open dependabot PRs into a single change so they
can be reviewed and merged together. Each bump was reproduced against
current `main` (`go get` + `go mod tidy` for Go modules; the exact SHA
pins applied for the actions group), rather than merging the individual
branches, to avoid stale `go.sum` conflicts.

## Root module (`go.mod`)
| Dependency | From | To | Supersedes |
|---|---|---|---|
| `google.golang.org/grpc` | 1.82.0 | 1.82.1 | #1479 |
| `github.com/prometheus/client_golang` | 1.23.2 | 1.24.1 | #1475 |
| `github.com/danielgtaylor/huma/v2` | 2.38.0 | 2.39.0 | #1474 |

## Deploy module (`deploy/go.mod`)
| Dependency | From | To | Supersedes |
|---|---|---|---|
| `github.com/pulumi/pulumi-kubernetes/sdk/v4` | 4.32.0 | 4.33.0 | #1449
|

## GitHub Actions (#1476)
- `actions/setup-go` SHA bumped across `ci.yml`, `release.yml`,
`deploy-production.yml`, `deploy-staging.yml`
- `actions/download-artifact` v4 → v8.0.1 in
`close-invalid-publish-prs.yml`

`go mod tidy` re-resolved transitive dependencies in both modules
accordingly.

## Verification
- `go build ./...` passes (root + deploy)
- `go vet ./...` passes
- `govulncheck ./...` reports no `golang.org/x/text` finding (the
GO-2026-5970 fix from #1481 is preserved; tidy pulled x/text to v0.40.0)

## Follow-up
Once this merges, the five superseded PRs (#1479, #1475, #1474, #1449,
#1476) can be closed.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
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.

2 participants