Skip to content

fix: [CI-23219]: remediate vulnerabilities in harnesssecure/github-actions#25

Open
chhawchharia wants to merge 2 commits into
mainfrom
CI-23219
Open

fix: [CI-23219]: remediate vulnerabilities in harnesssecure/github-actions#25
chhawchharia wants to merge 2 commits into
mainfrom
CI-23219

Conversation

@chhawchharia

@chhawchharia chhawchharia commented Jun 26, 2026

Copy link
Copy Markdown
Collaborator

Summary

Remediates security vulnerabilities in harnesssecure/github-actions:1.0 (Jira CI-23219, parent epic CI-23213). Baseline scan: 296 findings (6 Critical, 59 High, 75 Medium, 30 Low).

Ships from an origin branch (not a fork) so Drone CI can access build/publish secrets. Consolidates the original remediation plus a required CI-toolchain fix that was missing from the earlier PRs.

Changes

File Change Why
docker/Dockerfile.linux.amd64 docker:dinddocker:29.6.0-dind; act v0.2.61v0.2.89 Patches OS/toolchain CVEs in the base image and the bundled act binary
go.mod go 1.22.71.25.0; dep bumps (notably go-git/go-git/v5 5.13.1 → 5.19.1) Patched Go stdlib + dependency CVEs
go.sum regenerated Matches go.mod
.drone.yml build image golang:1.22.7golang:1.25.11 Required: otherwise the CI builder still compiles against the old Go stdlib, re-introducing the very CVEs the go.mod bump fixes

Verification (deep-dive, no functional regressions)

Static/build: go build ./..., go vet ./..., and the full go test ./... suite pass.

Only three dependencies change runtime behavior; each was validated:

  • cloner/ (go-git 5.13 → 5.19): real-network clone integration tests pass for tag, branch, and a +-special tag (the last exercises the ErrReferenceNotFound → inverse-ref retry path). API surface compiles unchanged.
  • act 0.2.61 → 0.2.89: all 10 CLI flags the plugin passes (-W, -P, --secret-file, --env-file, -b, --detect-event, --container-options, --actor, --eventpath, -v) remain supported; binary installs and runs.
  • daemon/ (docker 28 → 29 dind): dockerd 29.6.0 initializes cleanly with the plugin's exact flags; DOCKER_HOST=tcp://docker:2375 is identical across dind 20.10/24/27/28/29 (no client-connection regression); daemon/ code is untouched by this PR.

govulncheck confirms the reachable Go-stdlib CVEs close once built with golang:1.25.11. cmd/, utils/, and pkg/encoder depend only on unchanged dependency versions (urfave/cli, gopkg.in/yaml.v2, joho/godotenv, buildkite/yaml, ghodss/yaml), so no behavior change is possible there.

Test plan

  • Drone CI build passes on golang:1.25.11
  • Image build (docker:29.6.0-dind + act v0.2.89) succeeds in CI
  • Post-merge scan confirms reduced finding counts

Related

Made with Cursor

ci-vuln-bot and others added 2 commits June 24, 2026 04:20
…tions

- bump base image docker:dind -> docker:29.6.0-dind
- bump nektos/act v0.2.61 -> v0.2.89
- update go.mod toolchain + key dependencies (go-git, x/crypto, x/net, etc.)
The vuln remediation raised the go.mod directive to `go 1.25.0`, but the
.drone.yml build step still used `golang:1.22.7`. A 1.22 toolchain cannot
cleanly build a 1.25 module (auto-toolchain download is fragile and fails
under GOTOOLCHAIN=local), and it would compile the plugin binary with an
outdated Go stdlib, re-introducing stdlib CVEs into the image. Pin the build
image to the latest 1.25 patch (1.25.11), which also carries the stdlib fix
for CVE-2025-47910.

Co-authored-by: Cursor <cursoragent@cursor.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.

1 participant