-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore(deps): update module github.com/tektoncd/pipeline to v0.52.1 [security] (release-v0.13) #627
base: release-v0.13
Are you sure you want to change the base?
Conversation
ℹ Artifact update noticeFile name: modules/tests/go.modIn order to perform the update(s) described in the table above, Renovate ran the
Details:
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: redhat-renovate-bot The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
7f75599
to
ee433c2
Compare
…ecurity] Signed-off-by: null <[email protected]>
ee433c2
to
6a6cf64
Compare
@redhat-renovate-bot: The following tests failed, say
Full PR test history. Your PR dashboard. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
This PR contains the following updates:
v0.40.2
->v0.52.1
Pipelines do not validate child UIDs
CVE-2023-37264 / GHSA-w2h3-vvvq-3m53 / GO-2023-1901
More information
Details
Summary
Pipelines do not validate child UIDs, which means that a user that has access to create TaskRuns can create their own Tasks that the Pipelines controller will accept as the child Task.
We should add UID to PipelineRun status and validate that child Run status/results only come from Runs matching the same UID.
Details
While we store and validate the PipelineRun's (api version, kind, name, uid) in the child Run's OwnerReference, we only store (api version, kind, name) in the ChildStatusReference .
This means that if a client had access to create TaskRuns on a cluster, they could create a child TaskRun for a pipeline with the same name + owner reference, and the Pipeline controller picks it up as if it was the original TaskRun. This is problematic since it can let users modify the config of Pipelines at runtime, which violates SLSA L2 Service Generated / Non-falsifiable requirements.
I believe this is also true for TaskRuns -> Pods since it looks like we only lookup by name, though I haven't tested this.
If you have update permissions on tekton resources, you could also perform a similar bypass like this (because it's difficult to distinguish this from a Task retry). For now, I think relying on RBAC is fine and treat update as a privileged role (though we should perhaps update docs to stress this). Create is the most problematic for now. SPIFFE/SPIRE might be able to help with ensuring that only the controller can modify state long term (e.g. sign the expected UIDs?)
PoC
Once this is running, grab the PR UID:
$ k get pr hello-pr -o json | jq .metadata.uid -r
While pipeline is running task 1, start fake task 2:
Get pipeline results - it shows the output of the 2nd injected TaskRun
Impact
This can be used to trick the Pipeline controller into associating unrelated Runs to the Pipeline, feeding its data through the rest of the Pipeline. This requires access to create TaskRuns, so impact may vary depending on your Tekton setup. If users already have unrestricted access to create any Task/PipelineRun, this does not grant any additional capabilities.
Worst case example would be a supply chain attack where a malicious TaskRun triggered from Triggers/Workflows intercepts and replaces a task in a trusted Pipeline.
Severity
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:N
References
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Release Notes
tektoncd/pipeline (github.com/tektoncd/pipeline)
v0.52.1
: Tekton Pipeline release v0.52.1 "California Spangled Optimus"Compare Source
-Docs @ v0.52.1
-Examples @ v0.52.1
Installation one-liner
Attestation
The Rekor UUID for this release is
24296fb24b8ad77a97c22594268cc45d986246339ada304b7587b205b59cf5d59df2650d24b14825
Obtain the attestation:
Verify that all container images in the attestation are in the release file:
Changes
Fixes
Fix regression where a different order of task definition may cause result resolution to break
Thanks
Thanks to these contributors who contributed to v0.52.1!
Extra shout-out for awesome release notes:
v0.52.0
: Tekton Pipeline release v0.52.0 "California Spangled Optimus"Compare Source
🎉 Task and Pipeline Resolver Metrics, API Specifications for pipelines-in-pipelines 🎉
-Docs @ v0.52.0
-Examples @ v0.52.0
Installation one-liner
Attestation
The Rekor UUID for this release is
24296fb24b8ad77aede6ff3c84da87cdeda75e9dcf779abc736bf5423b8a4151bad8193f0c76dd15
Obtain the attestation:
Verify that all container images in the attestation are in the release file:
Changes
Features
New gauge metrics are introduced that count the number of TaskRuns waiting for resolution of any Tasks they reference, as well as count the number of PipelineRuns waiting on Pipeline resolution, and lastly count the number of PipelineRuns waiting on Task resolution for their underlying TaskRuns.
Added PipelineRef and PipelineSpec fields to PipelineTask, in lieu of TEP-0056
Fixes
The taskrun will clean up the last task results before retrying.
Bug fix: validate beta features in inline tasks/pipelines in the same way as referenced tasks/pipelines
InvalidMatrixParameterTypes
along with updating the matrix example with additional validations (#7064)Misc
Tracing endpoint configuration is now moved from environment variable to the configmap
config-tracing
. Tracing can be now configured dynamically without needing to restart the controller. Refer the example configuration provided as part of the ConfigMap for the configuration options and format.Docs
Thanks
Thanks to these contributors who contributed to v0.52.0!
Extra shout-out for awesome release notes:
v0.51.0
: Tekton Pipeline release v0.51.0 "Havana Brown Demerzel"Compare Source
🎉 Co-schedule option and bugfixes 🎉
-Docs @ v0.51.0
-Examples @ v0.51.0
Installation one-liner
Attestation
The Rekor UUID for this release is
24296fb24b8ad77af0123195ea84840480151ea9735ca9e2f869d262e403dad6fa6c42c32bc04193
Obtain the attestation:
Verify that all container images in the attestation are in the release file:
Upgrade Notices
With this release, the minimun Kubernetes version supported is now 1.25.
Changes
Features
[TEP-0135]: Support
coschedule: pipelineruns
andcoschedule: isolate-pipelinerun
coschedule modes.Users can now opt in this new feature to schedule all the pods in the same node and to optionally enforce one running pipelinerun in a node at the same time.
Deprecation Notices
The
disable-affinity-assistant
feature flag is deprecated in favour of the newcoschedule
feature flag. Thedisable-affinity-assistant
feature flag will be removed in 9 months.Fixes
Binary file (standard input) matches
ix validation errors when using the cluster resolver
The role for Events Controller is now
tekton-events-controller
, and the Rolebinding is nowtekton-pipelines-events-controller.
Validate forbidden envs in TaskRunTemplate.PodTemplate.
The Pod reason InvalidImageName is treated now as a permanent issue, so that TaskRuns that include a step with an invalid image reference are failed immediately and the corresponding Pod is deleted.
Cluster resolver now computes the checksum of the pre-processed Tekton object instead of just the spec.
This fixes the Taskrun failure for Preempted Pod of Taskrun which uses PVC.
When the taskRunSpecs of the pipelineRun contains an invalid pipeline task name, the cause of the
InvalidTaskRunSpecs
error is displayed.Misc
action required: The
disable-affinity-assistant
feature flag is deprecated in favour of the newcoschedule
feature flag. Thedisable-affinity-assistant
feature flag will be removed in 9 months.The Affinity Assistant behaviour should now be configured by the
coschedule
feature flag.Bump knative.dev/pkg to 1.11 so the Kubernetes min version is now 1.25
Remote tasks are now validated by any validating admission webhooks.
Docs
Thanks
Thanks to these contributors who contributed to v0.51.0!
Extra shout-out for awesome release notes:
v0.50.6
: Tekton Pipeline release v0.50.6 "Russian Blue Daneel Olivaw"Compare Source
-Docs @ v0.50.6
-Examples @ v0.50.6
Installation one-liner
Attestation
The Rekor UUID for this release is
24296fb24b8ad77ab39f94a9c6627f1ae85c428863d0dbdbea4c9481976f30c00d5f9f712a117720
Obtain the attestation:
Verify that all container images in the attestation are in the release file:
Changes
Features
Fixes
emove conversion webhook configuration from the ClusterTask CRD, it doesn't need it.
ix: ensure
ClusterTask
annotations and labels are synced toTaskRun
idecars are now validated at admission webhook
Misc
Docs
Thanks
Thanks to these contributors who contributed to v0.50.6!
Extra shout-out for awesome release notes:
v0.50.5
: Tekton Pipeline release v0.50.5 "Russian Blue Daneel Olivaw"Compare Source
-Docs @ v0.50.5
-Examples @ v0.50.5
Installation one-liner
Attestation
The Rekor UUID for this release is
24296fb24b8ad77a6931938578b4916b2944efdb45cd531e1913f85b8bc9c0a4e73512edcfbb86b5
Obtain the attestation:
Verify that all container images in the attestation are in the release file:
Changes
Misc
The Tekton controller images are now based on a distroless base image which is built on top of Alpine 3.18
Thanks
Thanks to these contributors who contributed to v0.50.5!
Extra shout-out for awesome release notes:
v0.50.4
: Tekton Pipeline release v0.50.4 "Russian Blue Daneel Olivaw"Compare Source
-Docs @ v0.50.4
-Examples @ v0.50.4
Installation one-liner
Attestation
The Rekor UUID for this release is
24296fb24b8ad77a71dafca6c5f27aec2842996255eeda41ddd2b1cec5ca920da82d7239d7007e7a
Obtain the attestation:
Verify that all container images in the attestation are in the release file:
Changes
Misc
The Tekton images are now based on a distroless base image which is built on top of Alpine 3.18
Thanks
Thanks to these contributors who contributed to v0.50.4!
Extra shout-out for awesome release notes:
v0.50.3
: Tekton Pipeline release v0.50.3 "Rusian Blue Daneel Olivaw"Compare Source
-Docs @ v0.50.3
-Examples @ v0.50.3
Installation one-liner
Attestation
The Rekor UUID for this release is
24296fb24b8ad77a8e347216bc80c82074f1721dbcfb1e10e487a0a2e5925d27cf46898c53bf6f5a
Obtain the attestation:
Verify that all container images in the attestation are in the release file:
Changes
Features
Fixes
This addresses GHSA-qppj-fm5r-hxr3 by not allowing more server handlers to be run than the HTTP/2 MAX_CONCURRENT_STREAMS setting.
Misc
Docs
Thanks
Thanks to these contributors who contributed to v0.50.3!
Extra shout-out for awesome release notes:
v0.50.2
: Tekton Pipeline release v0.50.2 "Russian Blue Daneel Olivaw"Compare Source
-Docs @ v0.50.2
-Examples @ v0.50.2
Installation one-liner
Attestation
The Rekor UUID for this release is
24296fb24b8ad77a6726958468f17410d57decea33a20cc1c61cae727201991da57f788c4095926b
Obtain the attestation:
Verify that all container images in the attestation are in the release file:
Changes
Fixes
Fix regression where a different order of task definition may cause result resolution to break
Bug fix: validate beta features in inline tasks/pipelines in the same way as referenced tasks/pipelines
Fixed the release pipeline invalid spec.
🐛 [release-v0.50.x] Remove results annotations filtering (#7131)
🐛 [v0.50.x] Update knative/pkg 1.10 to address CVE-2023-44487 (#7211)
Misc
Docs
Thanks
Thanks to these contributors who contributed to v0.50.2!
Extra shout-out for awesome release notes:
v0.50.1
: Tekton Pipeline release v0.50.1 "Russian Blue Daneel Olivaw"Compare Source
-Docs @ v0.50.1
-Examples @ v0.50.1
Installation one-liner
Attestation
The Rekor UUID for this release is
24296fb24b8ad77a1b02a57c8f75368d54f3f986188b3692201557a51808b4bc4e8acc1fcb835e38
Obtain the attestation:
Verify that all container images in the attestation are in the release file:
Changes
Features
Fixes
ix validation errors when using the cluster resolver
his fixes the Taskrun failure for Preempted Pod of Taskrun which uses PVC.
Misc
Docs
Thanks
Thanks to these contributors who contributed to v0.50.1!
Extra shout-out for awesome release notes:
v0.50.0
: Tekton Pipeline release v0.50.0 "Russian Blue Daneel Olivaw"Compare Source
🎉 v1beta1 deprecation (1 year support still) 🎉
-Docs @ v0.50.0
-Examples @ v0.50.0
Installation one-liner
Attestation
The Rekor UUID for this release is
24296fb24b8ad77a1665fb7556e457413b181806c513eeea26f12c0bd118bcf14912ee6bbee395d9
Obtain the attestation:
Verify that all container images in the attestation are in the release file:
Changes
Features
csi and projected volume workspaces are stable.
The "isolated workspaces" feature allows users to share a workspace with dedicated steps and sidecars, instead of the whole TaskRun. The feature has been promoted to "beta".
TEP-0135: Revert the owner of
PVCs
created bypipelinerun VolumeClaimTemplate
back topipelinerun
. ThePVCs
bounded to thepipelinerun
is now inbounded
state when thepipelinerun
is completed but not deleted.action required: The
default-cloud-events-sink
setting in theconfig-defaults
config map is deprecated. The CloudEvents sink shall be configured now through thesink
settings in the newconfig-events
config map.tep-0135: introduce
coschedule
feature flagTEP-0090: Pipeline Tasks may now reference whole array results in a Matrix. See https://github.com/tektoncd/pipeline/blob/09d422cff057f67170b4c2f76097ac6ffded33ef/docs/matrix.md?specifying-results-in-a-matrix#specifying-results-in-a-matrix docs for more information.
Fixes
Added validation for feature-flags configmap
Bug fix: taskruns_pod_latency metric renamed to taskruns_pod_latency_milliseconds and units corrected
bug fix: Remote Pipelines do not support propagated parameters and workspaces
bug fix: Avoid controller panics for computed timeouts
bug fix: PipelineRun marked as failed when it cannot create TaskRuns or CustomRuns for a non-retryable reason
bug fix: Disallow taskref.name with taskref.resolver in pipeline tasks
Merge podTemplate specified in pipelineRun.spec.taskRunSpecs[].podTemplate along with pipelineRun.spec.podTemplate instead of only considering the one specified at the taskRunSpecs.
Fixed an issue where Windows tasks would fail if one or more steps were configured with a custom working directory.
Misc
Some exported functions moved from pkg/apis/config to pkg/apis/config/testing
config-artifact-pvc and config-artifact-bucket are deleted as resources from the tekton-pipelines-controller role.
CONFIG_ARTIFACT_PVC_NAME and CONFIG_ARTIFACT_BUCKET_NAME are deleted from the tekton-pipelines-controller deployment.
native/pkg is updated to v1.10
The
CustomRun
events controller has been moved to thepkg/reconciler/notifications
package.Docs
Support window for beta CRDs increased to 1 year
action required: v1beta1 Task, TaskRun, Pipeline, and PipelineRun APIs are deprecated and will be removed. Please migrate to the v1 versions of these APIs following the migration guide at https://github.com/tektoncd/pipeline/blob/main/docs/migrating-v1beta1-to-v1.md.
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 has been generated by Renovate Bot.