🚨 Update module github.com/tektoncd/pipeline to v1 [SECURITY] (main)#3201
Open
renovate[bot] wants to merge 1 commit intomainfrom
Open
🚨 Update module github.com/tektoncd/pipeline to v1 [SECURITY] (main)#3201renovate[bot] wants to merge 1 commit intomainfrom
renovate[bot] wants to merge 1 commit intomainfrom
Conversation
Contributor
Author
ℹ️ Artifact update noticeFile name: acceptance/go.modIn order to perform the update(s) described in the table above, Renovate ran the
Details:
File name: go.modIn order to perform the update(s) described in the table above, Renovate ran the
Details:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v0.70.0→v1.0.1GitHub Vulnerability Alerts
CVE-2026-33022
Summary
A user with permission to create or update a TaskRun or PipelineRun can crash the Tekton Pipelines controller by setting
.spec.taskRef.resolver(or.spec.pipelineRef.resolver) to a string of 31 characters or more, causing a denial of service for all reconciliation.Details
The controller panics in
GenerateDeterministicNameFromSpecwhen building a deterministicResolutionRequestname. The generated name has the format{resolver}-{hash}and, when the resolver name is long enough, the result exceeds the DNS-1123 label limit of 63 characters.The truncation logic attempts to find a word boundary using
strings.LastIndex(name, " "). Since the generated name never contains spaces (it is composed of the resolver name, a dash, and a hex-encoded hash),LastIndexreturns-1, which is then used as a slice bound:The panic crashes the controller. Because the offending TaskRun or PipelineRun is re-reconciled on restart, the controller enters a
CrashLoopBackOff, blocking all TaskRun and PipelineRun reconciliation cluster-wide until the offending resource is manually deleted.Built-in resolvers use short names (
git,cluster,bundles,hub) and are not affected under normal usage. The vulnerability is exploitable by any user who can create TaskRuns or PipelineRuns with a custom resolver name.Impact
Denial of service — A single malicious TaskRun or PipelineRun with a long resolver name is sufficient to crash the Tekton Pipelines controller into a restart loop, blocking all CI/CD reconciliation cluster-wide until the resource is removed.
Patches
Fixed in versions 1.0.1, 1.3.3, 1.6.1, 1.9.2, 1.10.2.
The fix computes the hash first, then truncates only the prefix (resolver name) to fit within the DNS-1123 label limit, preserving the full hash to maintain determinism and uniqueness of
ResolutionRequestnames.Workarounds
Restrict who can create TaskRun and PipelineRun resources via Kubernetes RBAC. There is no validation-side workaround without patching.
Affected Versions
All releases from v0.60.0 through v1.10.0.
The vulnerable truncation logic was introduced in commit
ea1fa7ad1fdc("Remote Resolution Refactor"), first released in v0.60.0 (2024-05-22).Currently supported affected releases:
Releases prior to v0.60.0 are not affected — the truncation code did not exist.
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
ea1fa7ad1fdc("Remote Resolution Refactor")Release Notes
tektoncd/pipeline (github.com/tektoncd/pipeline)
v1.0.1: Tekton Pipeline release v1.0.1 "Oriental Omnidroid"Compare Source
-Docs @ v1.0.1
-Examples @ v1.0.1
Installation one-liner
Attestation
The Rekor UUID for this release is
108e9186e8c5677ac065838c723ea199e9f0cc152e2c53d2430fb164dfe15d3e59766eef70923f9fObtain the attestation:
Verify that all container images in the attestation are in the release file:
Changes
GHSA-j5q5-j9gm-2w5c (Critical): Path traversal in git resolver allows reading arbitrary files from the resolver pod. Fixed by validating the
pathInRepoparameter to prevent directory traversal.GHSA-cv4x-93xx-wgfj / CVE-2026-33022 (Medium): Controller panic via long resolver name in TaskRun/PipelineRun. A user with permission to create TaskRuns or PipelineRuns could crash the controller into a restart loop by setting a resolver name of 31+ characters, causing denial of service cluster-wide. Thanks to @1seal for reporting this vulnerability.
Fixes
gitTokenandgitTokenKey, breaking the git resolver's http token-based auth. After this change, all git operations performed by the git resolver use the providedgitTokenfor remote authentication.tekton_pipelines_controller_running_pipelinerunsmetric (#8979) — Fixed metric to count only running PipelineRunsMisc
Thanks
Thanks to these contributors who contributed to v1.0.1!
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 #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:
Configuration
📅 Schedule: Branch creation - "" (UTC), 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 was generated by Mend Renovate. View the repository job log.