Skip to content

security(runner): kubectl v1.32.13 -> v1.36.2, Go builder 1.26.5 - #541

Merged
blue4209211 merged 2 commits into
mainfrom
security/runner-kubectl-go-bump
Jul 17, 2026
Merged

security(runner): kubectl v1.32.13 -> v1.36.2, Go builder 1.26.5#541
blue4209211 merged 2 commits into
mainfrom
security/runner-kubectl-go-bump

Conversation

@mayankpande88

Copy link
Copy Markdown
Contributor

Description

The nudgebee-agent image's 37 fixable Trivy findings (20 HIGH) are almost entirely in the bundled kubectl binary, not our code: upstream builds the kubectl 1.32 line on Go 1.24.13, whose stale stdlib (21 CVEs) and x/net v0.30 (12 CVEs) ship inside the prebuilt binary. The agent's own go.mod deps are already current (x/net 0.55, oauth2 0.36, spdystream 0.5.1).

  • kubectl v1.32.13 → v1.36.2 (current stable, built on Go 1.26.4). Verified: go version on the release binary. Note the runner's k8s.io libs are already v0.36.x, so the bundled kubectl now matches the client library line.
  • Builder → golang:1.26.5-alpine (digest-pinned) + GOTOOLCHAIN=local — fixes the stdlib pair CVE-2026-39822 (HIGH) / CVE-2026-42505 in our own binary.

Residual after this: only the industry-wide Go 1.26.4 stdlib pair inside upstream's kubectl build; clears when upstream rebuilds on 1.26.5.

How Has This Been Tested?

  • go build ./... clean inside golang:1.26.5-alpine (CGO_ENABLED=0, GOTOOLCHAIN=local)
  • kubectl v1.36.2 release binary verified as go1.26.4 (vs 1.32.13's go1.24.13)
  • Finding attribution verified from the CI Trivy scan artifacts (nudgebee/nudgebee run 29551177314)

….26.5

The nudgebee-agent image's 37 fixable Trivy findings (20 HIGH) are almost
entirely in the bundled kubectl binary: upstream builds the 1.32 line on Go
1.24.13, whose stale stdlib (21 CVEs) and x/net v0.30 (12 CVEs) ship inside the
prebuilt binary — our own agent binary's deps are already current. Bump kubectl
to v1.36.2 (current stable, built on Go 1.26.4) and the agent builder to
golang:1.26.5-alpine with GOTOOLCHAIN=local (fixes the stdlib pair
CVE-2026-39822 HIGH / CVE-2026-42505 present in 1.26.4).

Residual after this: only the industry-wide Go 1.26.4 stdlib pair inside
kubectl, which clears when upstream rebuilds on 1.26.5.

kubectl's CLI surface used by kubectl_command_executor (pkg/kube/exec.go) is
stable across these versions; the official version-skew policy applies to
cluster API interactions, which the executor's read/exec commands tolerate.
@mayankpande88
mayankpande88 requested a review from a team as a code owner July 17, 2026 03:20

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Code Review

This pull request updates the runner's Dockerfile to use Go 1.26.5 to address security vulnerabilities, sets GOTOOLCHAIN=local, and upgrades kubectl to v1.36.2 to reduce Trivy findings. Feedback points out that upgrading kubectl to v1.36.2 may violate the Kubernetes version skew policy in older clusters, and suggests building kubectl from source with the patched Go toolchain as an alternative.

Comment thread runner/Dockerfile
@github-actions

Copy link
Copy Markdown
Contributor

📦 Image Tags Updated

I've automatically updated the image tags in `charts/nudgebee-agent/values.yaml` to the latest versions from GHCR for the `main` branch.

The image tags are now synchronized with the latest builds and ready for release.

@blue4209211
blue4209211 merged commit 5d6b67d into main Jul 17, 2026
7 checks passed
@blue4209211
blue4209211 deleted the security/runner-kubectl-go-bump branch July 17, 2026 04:32
blue4209211 pushed a commit that referenced this pull request Jul 17, 2026
…#542)

- nudgebee-agent -> 2026-07-17T04-32-36_5d6b67de (from #541: kubectl v1.36.2 +
  Go 1.26.5 builder — clears 35 of the image's 37 fixable Trivy findings, incl.
  20 HIGH; residual is the Go 1.26.4 stdlib pair + vendored x/net inside
  upstream's kubectl build, which clears when upstream K8s rebuilds)
- application-profiler-{bpf,...} -> 4f4b455 (all profiler flavors rebuilt on
  Go 1.26.5, clearing the stdlib pair CVE-2026-39822 HIGH / CVE-2026-42505)

Chart 0.1.13 -> 0.1.14.
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