fix(deps): update module github.com/tektoncd/pipeline to v1 [security] (alauda-v0.34.0)#70
Conversation
|
🤖 AI Code Review
SummaryThis PR updates the Review Statistics
Critical Issues
Warnings
Suggestions
Positive Feedback
Recommendation: This PR should NOT be merged in its current state. It requires:
ℹ️ About this reviewThis review was automatically generated using the
|
Renovate Ignore NotificationBecause you closed this PR without merging, Renovate will ignore this update. You will not get PRs for any future If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR. |
This PR contains the following updates:
v0.55.0->v1.1.0GitHub Vulnerability Alerts
CVE-2026-33211
Summary
The Tekton Pipelines git resolver is vulnerable to path traversal via the
pathInRepoparameter. A tenant with permission to createResolutionRequests(e.g. by creatingTaskRunsorPipelineRunsthat use the git resolver) can read arbitrary files from the resolver pod's filesystem, including ServiceAccount tokens. The file contents are returned base64-encoded inresolutionrequest.status.data.Details
The git resolver's
getFileContent()function inpkg/resolution/resolver/git/repository.goconstructs a file path by joining the repository clone directory with the user-suppliedpathInRepoparameter:The
pathInRepoparameter is not validated for path traversal sequences. An attacker can supply values like../../../../etc/passwdto escape the cloned repository directory and read arbitrary files from the resolver pod's filesystem.The vulnerability was introduced in commit
318006c4e3a5which switched the git resolver from the go-git library (using an in-memory filesystem that cannot be escaped) to shelling out to thegitbinary and reading files withos.ReadFile()from the real filesystem.Impact
Arbitrary file read — A namespace-scoped tenant who can create
TaskRunsorPipelineRunswith git resolver parameters can read any file readable by the resolver pod process.Credential exfiltration and privilege escalation — The resolver pod's ServiceAccount token is readable at a well-known path (
/var/run/secrets/kubernetes.io/serviceaccount/token). In the default RBAC configuration, thetekton-pipelines-resolversServiceAccount hasget,list, andwatchpermissions onsecretscluster-wide. An attacker who exfiltrates this token gains the ability to read all Secrets across all namespaces, escalating from namespace-scoped access to cluster-wide secret access.Patches
Fixed in 1.0.x, 1.3.x, 1.6.x, 1.9.x, 1.10.x.
The fix validates
pathInRepoto reject paths containing..components at parameter validation time, and adds a containment check usingfilepath.EvalSymlinks()to prevent symlink-based escapes from attacker-controlled repositories.Workarounds
There is no workaround other than restricting which users can create
TaskRuns,PipelineRuns, orResolutionRequeststhat use the git resolver. Administrators can also reduce the impact by scoping the resolver pod's ServiceAccount RBAC permissions using a customClusterRolewith more restrictive rules.Affected Versions
All releases from v1.0.0 through v1.10.0, including all patch releases:
Releases prior to v1.0.0 (e.g. v0.70.0 and earlier) are not affected because they used the go-git library's in-memory filesystem where path traversal cannot escape the git worktree.
Acknowledgments
This vulnerability was reported by Oleh Konko (@1seal), who provided a thorough vulnerability analysis, proof-of-concept, and review of the fix. Thank you!
References
318006c4e3a5("fix: resolve Git Anonymous Resolver excessive memory usage")Release Notes
tektoncd/pipeline (github.com/tektoncd/pipeline)
v1.1.0: Tekton Pipeline release v1.1.0 "Selkirk Rex Saul Tigh"Compare Source
-Docs @ v1.1.0
-Examples @ v1.1.0
Installation one-liner
Attestation
The Rekor UUID for this release is
108e9186e8c5677a4abf3bb44246e552fdd917a58075df15b5f99ad1aa9e1da6ffd3c6aebc69689dObtain the attestation:
Verify that all container images in the attestation are in the release file:
Changes
Features
Fixes
Retryable errors during dry-run Task validation will no longer cause a PipelineRun to be failed.
TaskRuns that fail due to Out of Memory (OOM) conditions will now show the termination reason in their failure message.
Misc
GOPATHgeneration in inupdate-codegen.shandupdate-openapigen.sh. (#8719)task_validation.goandcontainer_validation.go. (#8714)container_validation.go. (#8685)480f494toc6634ca(#8799)4168bb4to480f494(#8764)5426eccto4168bb4(#8739)c34c1c1to5426ecc(#8730)Docs
Thanks
Thanks to these contributors who contributed to v1.1.0!
Extra shout-out for awesome release notes:
v1.0.0: Tekton Pipeline release v1.0.0 "Oriental Omnidroid" LTSCompare Source
🎉 1.0.0 is live 🎉 StepActions are GA and Git resolvers enhancements 🎉
-Docs @ v1.0.0
-Examples @ v1.0.0
Installation one-liner
Attestation
The Rekor UUID for this release is
108e9186e8c5677a3c232a877172a3c7967bdcb84afa4bc0a3819fe35e8796e324bbc364356d4349Obtain the attestation:
Verify that all container images in the attestation are in the release file:
Changes
Features
RemoteResolutions using the Git Resolver now use the
gitbinary instead of the Golang librarygo-gitto shallow-clone, shallow-fetch, then checkout the provided repository at the given revision. This reduces resolution time and memory significantly. Some git providers such as Gitea may not support fetching revisions if the revision is a SHA which is not reachable via a ref or is not at a ref/head. In general, no user action is required.See also: https://git-scm.com/docs/protocol-capabilities#\_allow\_reachable\_sha1\_in\_want
Resolves https://github.com/tektoncd/pipeline/issues/8652
feat(pipeline): allow variable substitution in pipeline.tasks[].onError
Enables the configuration of backoffs for a bundle resolver requests.
StepActions promoted to GA and is available by default. The enable-step-actions feature flag exists as a no-op flag to ensure that existing user workflows which might rely on this flag are not disabled. This flag will be removed completely in a later release.
n optional token can now be passed to the git clone method (using go-git library) to
bypass token limit when using the API.
Fixes
the hub resolver now validates StepActions as a valid kind
fix: avoid fan out matrix task failed due to result ref
Misc
Binary file (standard input) matches
Remove ClusterTask support completely
Updating go to 1.23
keep-pod-on-cancelfeature flag will be enabled in defaultbe393a9toc34c1c1(#8721)6abeaa5tobe393a9(#8704)27ae6b3to6abeaa5(#8689)Docs
whenexpressions documentation from StepActions to Tasks documetnation. (#8672)Thanks
Thanks to these contributors who contributed to v1.0.0!
Extra shout-out for awesome release notes:
v0.70.0: Tekton Pipeline release v0.70.0 "Norwegian Forest Cat Number Five (Aaron Doral)"Compare Source
🎉 OpenAPI schema to Tekton CRDs 🎉
-Docs @ v0.70.0
-Examples @ v0.70.0
Installation one-liner
Attestation
The Rekor UUID for this release is
108e9186e8c5677a9b98c9f620b1202d23cdf7b6bc38da3acecc1a9cb6f206d98fefed3ce02b0e09Obtain the attestation:
Verify that all container images in the attestation are in the release file:
Changes
Features
action required: The structural OpenAPI schema to Tekton CRDs are added enabling API server schema validation and supporting
kubectl explainto describe fields and structure of Tekton CRDs. Due to the API server schema validation, users should make sure Tekton CRs have a valid schema when creating or updating CRs.Fixes
Task Param defaults will now be correctly substituted in Steps when the Task is referenced by a TaskRun
Misc
import only the writer part of the credentials package in the entrypoint so that we do not pull core v1 API indirectly into the package
dcc7a0cto27ae6b3(#8664)Docs
kosettings for kind clusters with and without a local registry. (#8662)Thanks
Thanks to these contributors who contributed to v0.70.0!
Extra shout-out for awesome release notes:
v0.69.1: Tekton Pipeline release v0.69.1 "Oriental Longhair Omnibot"Compare Source
-Docs @ v0.69.1
-Examples @ v0.69.1
Installation one-liner
Attestation
The Rekor UUID for this release is
108e9186e8c5677a76ee1ec9649527ab153790fc1b5385843dcb8c6522c3d9b0db77451a35b2068fObtain the attestation:
Verify that all container images in the attestation are in the release file:
Changes
Features
Fixes
ask Param defaults will now be correctly substituted in Steps when the Task is referenced by a TaskRun
Misc
Docs
Thanks
Thanks to these contributors who contributed to v0.69.1!
Extra shout-out for awesome release notes:
v0.69.0: Tekton Pipeline release v0.69.0 "Oriental Longhair Omnibot"Compare Source
-Docs @ v0.69.0
-Examples @ v0.69.0
Installation one-liner
Attestation
The Rekor UUID for this release is
108e9186e8c5677a83b80360985c8a19920792656acc1566def6a298da6b73bd47b42307bceab304Obtain the attestation:
Verify that all container images in the attestation are in the release file:
Changes
Features
New feature flag
set-security-context-read-only-root-filesystemin ConfigMapfeature-flags. The new feature sets readOnlyRootFilesystem in securityContext for taskrun and affinity assistant containers.Fixes
fix: Move when condition to higher priority
fix: resolve panic issue in pipeline controller caused by CustomRun
Misc
Bump knative.dev/pkg to release-1.17 while keeping
KUBERNETES_MIN_VERSIONto 1.28.Docs
Thanks
Thanks to these contributors who contributed to v0.69.0!
Extra shout-out for awesome release notes:
v0.68.1: Tekton Pipeline release v0.68.1 "LaPerm Giskard Reventlov" LTSCompare Source
-Docs @ v0.68.1
-Examples @ v0.68.1
Installation one-liner
Attestation
The Rekor UUID for this release is
108e9186e8c5677aff6b780d606f71d6cc2d430e71ac429ad21e107c13490490d164ab33f980851bObtain the attestation:
Verify that all container images in the attestation are in the release file:
Changes
Features
Fixes
ask Param defaults will now be correctly substituted in Steps when the Task is referenced by a TaskRun
Misc
Docs
Thanks
Thanks to these contributors who contributed to v0.68.1!
Extra shout-out for awesome release notes:
v0.68.0: Tekton Pipeline release v0.68.0 "LaPerm Giskard Reventlov" LTSCompare Source
-Docs @ v0.68.0
-Examples @ v0.68.0
Installation one-liner
Attestation
The Rekor UUID for this release is
108e9186e8c5677a666d35f8508100e4c8e112033d805978d152a05eef3872377816f3756a588089Obtain the attestation:
Verify that all container images in the attestation are in the release file:
Changes
Features
improve step.Script variables references validation message
Fixes
fixes https://github.com/tektoncd/pipeline/issues/7935 allowing users to reference other parameters in default values
fix: avoid panic when validate enum param with special matrix task
Binary file (standard input) matches
Misc
Configuration
📅 Schedule: Branch creation - "" in timezone Asia/Shanghai, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.