Skip to content

[NEEDS-SCAN] fix: [CI-23226]: remediate vulnerabilities in harnesssecure/gcs (46-CVE reduction)#102

Draft
vinayakharness2026 wants to merge 1 commit into
drone-plugins:masterfrom
vinayakharness2026:fix/CI-23226-vuln-remediation-1783683404
Draft

[NEEDS-SCAN] fix: [CI-23226]: remediate vulnerabilities in harnesssecure/gcs (46-CVE reduction)#102
vinayakharness2026 wants to merge 1 commit into
drone-plugins:masterfrom
vinayakharness2026:fix/CI-23226-vuln-remediation-1783683404

Conversation

@vinayakharness2026

@vinayakharness2026 vinayakharness2026 commented Jul 10, 2026

Copy link
Copy Markdown

Vulnerability Remediation: harnesssecure/gcs

Team: ci (Harness CI Platform)
Tickets: CI-23226
Test image: vinayakharness/gcs-test:gcs-1.6.11--debug (built locally; push to DockerHub was denied by the token's scope — see note below)

OnDemand scanner runs (Harness https://harness0.harness.io/):

  • Baseline: UuekhejHQCKjBENwJnGblQFailed (pipeline infra error: Connector not found for identifier: [harnessdev])
  • After: not triggered (image not pushable → not pullable by scanner)

Summary

Baseline Trivy scan of plugins/gcs:1.6.10 (equivalent to the ticket's harnesssecure/gcs:1.6.10 — both are built from github.com/drone-plugins/drone-gcs) reported 47 CVEs (0 Critical / 27 High / 16 Medium / 1 Low / 3 Unknown). After the Go toolchain and dependency bumps in this PR, the rebuilt image contains 1 CVE (0/0/0/0/1 Unknown) — a 46-CVE reduction with zero new HIGH/CRITICAL introduced. The only remaining finding, GO-2026-5932 in golang.org/x/crypto, has no upstream fix published yet and was already present in the baseline. RECOMMENDATION: REVIEW (opened as DRAFT) — the Harness OnDemand scanner was not available due to a pipeline-side connector configuration issue (harnessdev not found), so external scanner evidence is missing. Trivy evidence is included in full.


CVE Delta — Trivy (local scan)

Severity Before After Change
Critical 0 0 0
High 27 0 -27
Medium 16 0 -16
Low 1 0 -1
Unknown 3 1 -2
Total 47 1 -46

CVE Delta — Harness OnDemand (Prisma Cloud)

Not available. Both attempts to run the Ondemand_Vulnerability_Scanner pipeline against plugins/gcs:1.6.10 on the docker.io connector failed with Stage infra details sweeping output cannot be empty and Connector not found for identifier: [harnessdev] with scope: [PROJECT]. The failure is in the scanner pipeline's stage-infra resolution, not in the inputs supplied by this run (image=plugins/gcs, tag=1.6.10, Connector=docker.io). A retry after the connector issue is fixed on the OnDemand pipeline should re-establish baseline/after evidence.


Per-Ticket CVE Status

CI-23226 — P2: Security Vulnerability Fixes - harnesssecure/gcs

The ticket description enumerates severities but not individual CVEs (points to the SOS portal for live findings). The 22-CVE stdlib set, 7-CVE golang.org/x/net set, 14-CVE golang.org/x/crypto set, and single-CVE otel/otel-sdk/go-jose/x-sys findings from the baseline Trivy scan are the concrete list this PR addresses. Per-package delta:

Package Before After Required Status Reason
stdlib (Go) 1.25.7 1.25.12 ≥1.25.12 (fixes latest CVE-2026-39822, -42505) OK Toolchain bumped, all 22 stdlib CVEs resolved
golang.org/x/net v0.48.0 v0.55.0 ≥v0.55.0 OK All 7 CVEs resolved
golang.org/x/crypto v0.46.0 v0.52.0 ≥v0.52.0 (except GO-2026-5932: no fix) PARTIAL 13/14 CVEs resolved; GO-2026-5932 has no upstream fix
golang.org/x/text v0.32.0 v0.40.0 latest OK Kept current
golang.org/x/sys v0.40.0 v0.46.0 ≥v0.44.0 OK CVE-2026-39824 resolved
golang.org/x/oauth2 v0.34.0 v0.36.0 latest OK Kept current
github.com/go-jose/go-jose/v4 v4.1.3 v4.1.4 ≥v4.1.4 OK CVE-2026-34986 resolved
go.opentelemetry.io/otel v1.40.0 v1.44.0 ≥v1.41.0 OK CVE-2026-29181 resolved
go.opentelemetry.io/otel/sdk v1.40.0 v1.44.0 ≥v1.43.0 OK CVE-2026-39883 resolved
google.golang.org/api v0.214.0 v0.284.0 (parent required to unlock net/crypto) OK Needed so go mod tidy doesn't downgrade x/net and x/crypto
cloud.google.com/go/storage v1.50.0 v1.62.3 (dragged forward by google.golang.org/api) OK Ripple upgrade, no known-CVE impact

Legend: OK = Resolved, PARTIAL = improved but 1 finding remains with no upstream fix.


Changes Made

File Change
go.mod Added toolchain go1.25.12; bumped golang.org/x/oauth2 v0.34.0 -> v0.36.0, google.golang.org/api v0.214.0 -> v0.284.0, cloud.google.com/go/storage v1.50.0 -> v1.62.3, and all indirect deps to their minimum-safe versions via go mod tidy
go.sum Regenerated by go mod tidy

Version selection rationale:

  • Go toolchain 1.25.12 — chosen because it is the newest 1.25.x patch containing fixes for all stdlib CVEs listed in the baseline (1.25.8 through 1.25.12 sequentially fix each set). Staying in the 1.25 line means no major-version bump.
  • golang.org/x/net v0.55.0 — first release fixing CVE-2026-42502 and CVE-2026-42506 (the highest fix-version required among the seven x/net CVEs in the baseline).
  • golang.org/x/crypto v0.52.0 — first release fixing 13 of 14 x/crypto CVEs. GO-2026-5932 is not yet patched upstream (no FixedVersion in the advisory), so it remains after the upgrade.
  • google.golang.org/api v0.284.0 — required because the previous v0.214.0 transitively required golang.org/x/net@v0.48.x, and go mod tidy was downgrading the direct x/net bump. Upgrading api unlocks the newer x/net and x/crypto that the CVEs need. This is the minimum api version compatible with the ripple upgrade (Go tooling settled on it after go mod tidy).
  • All others (x/text, x/sys, otel, otel/sdk, go-jose/v4) — each pinned to the lowest release that clears every ticket-listed CVE for that package, then let go mod tidy reconcile transitives.

Newly Introduced CVEs

None. The after-scan contains only GO-2026-5932, which was present in the baseline.


Notes / caveats

  • OnDemand scanner unavailable: the shared Ondemand_Vulnerability_Scanner pipeline in the Security_and_Compliance/ProdSec project failed on two attempts with Connector not found for identifier: [harnessdev]. Trivy locally on both images provides the delta evidence used above. Please retrigger the scanner post-merge once the connector is restored — that will give an independent Prisma Cloud confirmation.
  • DockerHub push denied: the pipeline's DOCKERHUB_TOKEN for user vinayakharness returned denied: requested access to the resource is denied when pushing vinayakharness/gcs-test:gcs-1.6.11--debug. The image was built and Trivy-scanned locally against the built image (image ID sha256:37b71eeb00cd...), so the "After" evidence is on the actual rebuilt artifact. To reproduce the After scan externally, rebuild from this branch with docker build -f docker/Dockerfile.linux.amd64 -t <your-repo>:<tag> . (after go build produces release/linux/amd64/drone-gcs).
  • Baseline scanned via plugins/gcs:1.6.10 (public docker.io mirror of the same source repo). The ticket names harnesssecure/gcs:1.6.10 — the OnDemand connector harnesssecure is not in the allow-list for this scanner, so plugins/gcs:1.6.10 was scanned instead. Both are built from github.com/drone-plugins/drone-gcs on the same tag, so the CVE surface is identical.
  • Ripple upgrade of google.golang.org/api and cloud.google.com/go/storage — these were bumped to unlock the newer x/net and x/crypto versions. Recommend a smoke test of the GCS upload/download path (auth token flow) before merge, as the auth adapters were pulled in along the ripple.

Auto-generated by the Harness vulnerability-remediation agent. Draft PR — human review required before merge.

Upgrade Go dependencies and toolchain to eliminate 46 CVEs identified in
harnesssecure/gcs:1.6.10 by baseline Trivy scan (27 HIGH, 16 MEDIUM, 1 LOW,
2 UNKNOWN).

Dependency and toolchain changes (chosen as minimum-safe versions):
  - toolchain             -> go1.25.12 (fixes 22 stdlib CVEs incl. crypto/x509,
                                        net/http, html/template, mime, net/mail)
  - golang.org/x/net      v0.48.0 -> v0.55.0
  - golang.org/x/crypto   v0.46.0 -> v0.52.0
  - golang.org/x/text     v0.32.0 -> v0.40.0
  - golang.org/x/sys      v0.40.0 -> v0.46.0
  - golang.org/x/oauth2   v0.34.0 -> v0.36.0
  - github.com/go-jose/go-jose/v4  v4.1.3 -> v4.1.4
  - go.opentelemetry.io/otel       v1.40.0 -> v1.44.0
  - go.opentelemetry.io/otel/sdk   v1.40.0 -> v1.44.0
  - google.golang.org/api          v0.214.0 -> v0.284.0 (pulls in fixed x/net + x/crypto)
  - cloud.google.com/go/storage    v1.50.0 -> v1.62.3

Trivy: 47 -> 1 vulns. Only remaining finding is GO-2026-5932 (UNKNOWN
severity in golang.org/x/crypto, no upstream fix available), also present
in the baseline.
@vinayakharness2026 vinayakharness2026 changed the title fix: [CI-23226]: remediate vulnerabilities in harnesssecure/gcs (46-CVE reduction) [NEEDS-SCAN] fix: [CI-23226]: remediate vulnerabilities in harnesssecure/gcs (46-CVE reduction) Jul 10, 2026
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