Update module github.com/tektoncd/pipeline to v1.11.1 [SECURITY] (main)#3201
Open
renovate[bot] wants to merge 1 commit intomainfrom
Open
Update module github.com/tektoncd/pipeline to v1.11.1 [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:
|
38311a7 to
cbf8b3a
Compare
cbf8b3a to
0f86846
Compare
Contributor
Author
|
ab72bfd to
59df019
Compare
8a54ce1 to
a0b0e84
Compare
a0b0e84 to
df068df
Compare
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:
v1.9.2→v1.11.1Tekton Pipelines has VerificationPolicy regex pattern bypass via substring matching
CVE-2026-25542 / GHSA-rmx9-2pp3-xhcr
More information
Details
Summary
The Trusted Resources verification system matches a resource source string (
refSource.URI) againstspec.resources[].patternusing Go'sregexp.MatchString. In Go,regexp.MatchStringreports a match if the pattern matches anywhere in the input string. As a result, common unanchored patterns—including examples found in Tekton documentation—can be bypassed by attacker-controlled source strings that contain the trusted pattern as a substring. This may cause an unintended policy match and alter which verification mode or keys are applied.Affected Component
0133513db03dadb3cb08301d6b0330badcb63830pkg/trustedresources/verify.go:118–137(getMatchedPolicies)Impact
An attacker can craft a Trusted Resources source string that embeds a trusted substring and still matches an unanchored
VerificationPolicyspec.resources[].pattern, even if the policy is intended to constrain matches to a specific trusted source. This occurs becauseregexp.MatchStringsucceeds on substring matches. For example, a pattern such ashttps://github.com/tektoncd/catalog.gitwould match an attacker-controlled source likehttps://evil.com/?x=https://github.com/tektoncd/catalog.git.Affected: Deployments using Trusted Resources verification with unanchored
VerificationPolicypatterns, where an attacker can influence therefSource.URIvalue used for policy matching.Not affected: Deployments that anchor all patterns (
^...$) or otherwise enforce full-string matching; deployments where attackers cannot influencerefSource.URI.Reproduction
Canonical (Demonstrates Vulnerability)
[CALLSITE_HIT]+[PROOF_MARKER]Negative Control
bash ./run.sh control | tee /tmp/tekton-regex-001-control.log[CALLSITE_HIT]+[NC_MARKER]Verification
Suggested Fix
It is recommended to make matching safe-by-default by requiring full-string matches, or by validating patterns and clearly documenting substring semantics. Possible approaches include:
patternas^(?:pattern)$when not already anchored.A fix is considered accepted when, under the same harness, the canonical test still hits
[CALLSITE_HIT]but does not emit[PROOF_MARKER].Workarounds
Anchor all
VerificationPolicyresource patterns so they must match the full source string. For example:Proof Bundle
poc-F-TEKTON-REGEX-001/) to avoid collisions.canonical.log,control.log,witness.txt./poc/poc-F-TEKTON-REGEX-001/canonical.log,./poc/poc-F-TEKTON-REGEX-001/control.log,./poc/poc-F-TEKTON-REGEX-001/witness.txtshasum -a 256forcanonical.log,control.log,fix.patch, and test source againstwitness.txt.Severity
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Tekton Pipelines: VolumeMount path restriction bypass via missing filepath.Clean in /tekton/ check
CVE-2026-40923 / GHSA-rx35-6rhx-7858
More information
Details
Summary
A validation bypass in the VolumeMount path restriction allows mounting volumes under restricted
/tekton/internal paths by using..path traversal components. The restriction check usesstrings.HasPrefixwithoutfilepath.Clean, so a path like/tekton/home/../resultspasses validation but resolves to/tekton/resultsat runtime.Details
Tekton Pipelines restricts VolumeMount paths under
/tekton/(except/tekton/home) to prevent users from interfering with internal execution state. The validation atpkg/apis/pipeline/v1/container_validation.gochecks mount paths usingstrings.HasPrefixwithout normalizing the path first:Because
/tekton/homeis an allowed prefix, a path like/tekton/home/../resultspasses both checks. At runtime, the container runtime resolves..and the actual mount point becomes/tekton/results.The same pattern exists in
pkg/apis/pipeline/v1beta1/task_validation.go.Impact
An authenticated user with Task or TaskRun creation permissions can mount volumes over internal Tekton paths, potentially:
Patches
A patch is available at v1.11.1.
Workarounds
..components.Affected Versions
All versions through v1.11.0 (both
v1andv1beta1APIs).Acknowledgments
This vulnerability was reported by @kodareef5.
Severity
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Tekton Pipelines: HTTP Resolver Unbounded Response Body Read Enables Denial of Service via Memory Exhaustion
CVE-2026-40924 / GHSA-m2cx-gpqf-qf74
More information
Details
Summary
The HTTP resolver's
FetchHttpResourcefunction callsio.ReadAll(resp.Body)with no response body size limit. Any tenant with permission to create TaskRuns or PipelineRuns that reference the HTTP resolver can point it at an attacker-controlled HTTP server that returns a very large response body within the 1-minute timeout window, causing thetekton-pipelines-resolverspod to be OOM-killed by Kubernetes. Because all resolver types (Git, Hub, Bundle, Cluster, HTTP) run in the same pod, crashing this pod denies resolution service to the entire cluster. Repeated exploitation causes a sustained crash loop. The same vulnerable code path is reached by both the deprecatedpkg/resolution/resolver/httpand the currentpkg/remoteresolution/resolver/httpimplementations.Details
pkg/resolution/resolver/http/resolver.go:279–307:makeHttpClientsetshttp.Client{Timeout: timeout}wheretimeoutdefaults to 1 minute and is configurable viafetch-timeoutin thehttp-resolver-configConfigMap. The timeout bounds the duration of the entire request (including body read), which limits slow-drip attacks. However, it does not limit the total number of bytes allocated. A fast HTTP server can deliver multi-gigabyte responses well within the 1-minute window.The resolver deployment (
config/core/deployments/resolvers-deployment.yaml) sets a 4 GiB memory limit on thecontrollercontainer. A response of 4 GiB or larger delivered at wire speed will causeio.ReadAllto allocate 4 GiB, triggering an OOM-kill. With the default timeout of 60 seconds, a server delivering at 100 MB/s can supply 6 GB — well above the 4 GiB limit — before the timeout fires.The
remoteresolutionHTTP resolver (pkg/remoteresolution/resolver/http/resolver.go:90) delegates directly to the sameFetchHttpResourcefunction and is equally affected.PoC
Note: On clusters where operators have set a higher
fetch-timeout(e.g.,10m), the attacker has more time to deliver a larger body, and the attack is more reliable. On clusters with tight memory limits on the resolver pod, a smaller payload suffices.Impact
tekton-pipelines-resolverspod denies all resolution services cluster-wide until Kubernetes restarts the pod.Recommended Fix
Wrap
resp.Bodywithio.LimitReaderbefore passing toio.ReadAll. Add a configurablemax-body-sizeoption to thehttp-resolver-configConfigMap with a sensible default (e.g., 50 MiB, which exceeds the size of any realistic pipeline YAML file):This fix must be applied to
FetchHttpResourceinpkg/resolution/resolver/http/resolver.go, which is shared by both the deprecated and current HTTP resolver implementations.Severity
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Tekton Pipeline: Git Resolver Unsanitized Revision Parameter Enables git Argument Injection Leading to RCE
CVE-2026-40938 / GHSA-94jr-7pqp-xhcq
More information
Details
Summary
The git resolver's
revisionparameter is passed directly as a positional argument togit fetchwithout any validation that it does not begin with a-character. Because git parses flags from mixed positional arguments, an attacker can inject arbitrarygit fetchflags such as--upload-pack=<binary>. Combined with thevalidateRepoURLfunction explicitly permitting URLs that begin with/(local filesystem paths), a tenant who can submitResolutionRequestobjects can chain these two behaviors to execute an arbitrary binary on the resolver pod. Thetekton-pipelines-resolversServiceAccount holds cluster-wideget/list/watchon all Secrets, so code execution on the resolver pod enables full cluster-wide secret exfiltration.Details
Root Cause 1 — Unvalidated
revisionparameter passed togit fetchpkg/resolution/resolver/git/repository.go:85:execGitinvokesexec.CommandContext("git", ...)— no shell is used, so shell metacharacters cannot be injected. However, git itself parses flags from mixed positional arguments. Whenrevision = "--upload-pack=/path/to/binary", git receives this as the flag--upload-pack=/path/to/binary, not as a refspec.PopulateDefaultParams(resolver.go:418–424) applies only a leading-slash strip and acontainsDotDotcheck on thepathInRepoparameter; therevisionparameter receives no validation at all.Root Cause 2 —
validateRepoURLexplicitly permits local filesystem pathspkg/resolution/resolver/git/resolver.go:154-158:Any URL beginning with
/passes validation and is used directly as the argument togit clone. This means a local filesystem path such as/tmp/some-repois a valid resolver URL.Exploit Chain
--upload-pack=<binary>causes git to execute the specified binary as the upload-pack server when communicating with the remote. For local-path remotes (/path), git invokes the binary on the resolver pod itself with the repository path as its sole argument. Because the argument is passed viaexec.Commandas a single--upload-pack=<binary>string (not split by a shell), only binaries at known paths can be invoked — but several useful binaries exist in the resolver pod image (e.g.,/bin/sh,/usr/bin/curl,/bin/cp).Attack complexity is High because the exploit requires either:
/tmp/<reponame>-<suffix>from a concurrent resolution), orPoC
Verified:
git fetch origin --upload-pack=/tmp/test-exec.sh --depth=1executestest-exec.shon the local machine even whenoriginis a local filesystem path. Exit code 0 was observed with the test binary executed successfully.Impact
/tmpon the resolver pod.tekton-pipelines-resolversServiceAccount is bound to a ClusterRole that grantsget/list/watchon all Secrets in all namespaces (config/resolvers/200-clusterrole.yaml). Code execution on the resolver pod is therefore equivalent to reading every Secret in the cluster.pkg/resolution/resolver/git/) and the current resolver (pkg/remoteresolution/resolver/git/) share the samevalidateRepoURL,PopulateDefaultParams, andcheckoutimplementation via the sharedgitpackage. Both are affected.Recommended Fix
Fix 1 — Validate that
revisiondoes not begin with-inPopulateDefaultParams:Fix 2 — Restrict
validateRepoURLto remote URLs only (remove local-path support in production builds, or add an explicit admin opt-in feature flag):Applying Fix 1 alone is sufficient to prevent the argument injection. Fix 2 eliminates the enabling condition (local-path remotes for which
--upload-packruns locally) and reduces attack surface further.Severity
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:HReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
tektoncd/pipeline (github.com/tektoncd/pipeline)
v1.11.1: Tekton Pipeline release v1.11.1 "Javanese Jocasta"Compare Source
-Docs @ v1.11.1
-Examples @ v1.11.1
Installation one-liner
Attestation
The Rekor UUID for this release is
108e9186e8c5677a51c33e77fb56b7f99fdf192905340ce9abdc60589cba2da3451c60ad738768c2Obtain the attestation:
Verify that all container images in the attestation are in the release file:
Changes
GHSA-wjxp-xrpv-xpff / CVE-2026-40161 (HIGH): Git resolver API mode leaks system-configured API token to user-controlled
serverURL. A user who can create TaskRuns can exfiltrate the system Git API token by pointing the resolver at an attacker-controlled server.GHSA-94jr-7pqp-xhcq / CVE-2026-40938 (HIGH): Git resolver unsanitized revision parameter enables argument injection. A malicious
revisionvalue can inject arbitrary flags into thegitCLI, potentially leading to remote code execution on the resolver pod.GHSA-rx35-6rhx-7858 / CVE-2026-40923 (Medium): VolumeMount path restriction bypass via missing filepath normalization. Paths like
/tekton/../sensitivebypass the/tekton/prefix restriction check.GHSA-rmx9-2pp3-xhcr / CVE-2026-25542 (Medium): VerificationPolicy regex pattern bypass via substring matching. Unanchored patterns allow partial matches, letting unsigned resources pass verification.
GHSA-m2cx-gpqf-qf74 / CVE-2026-40924 (Medium): HTTP resolver unbounded response body read enables OOM denial of service. A malicious URL returning a very large response can exhaust the resolver pod's memory. Response body is now limited to 1 MiB.
Fixes
v1.11.0: Tekton Pipeline release v1.11.0 "Javanese Jocasta"Compare Source
🎉 🐱 TaskRun pending parity, multiple Git credentials, and PVC auto-cleanup 🤖 🎉
-Docs @ v1.11.0
-Examples @ v1.11.0
Installation one-liner
Attestation
The Rekor UUID for this release is
108e9186e8c5677ae7cc1db0d04d478cc74a86ca458747f1ca41fe102d4ec5f14a6f8ec59c48facdObtain the attestation:
Verify that all container images in the attestation are in the release file:
Changes
Features
Bump knative.dev/pkg to enable centralized WEBHOOK_* TLS configuration for the webhook (min/max version, cipher suites, curves).
Webhook now inherits TLS policy from environment (operator/cluster); defaults remain TLS 1.3 when unset.
dd multi-URL support and per-resolution url parameter to Hub Resolver, enabling ordered fallback across multiple hub instances and explicit URL targeting per resolution request.
TaskRun now supports spec.status: TaskRunPending to defer execution.
When pending, no Pod is created and status.startTime is not set.
Clearing spec.status starts execution, or setting TaskRunCancelled cancels without running.
Add optional PVC auto-cleanup for workspaces mode via
tekton.dev/auto-cleanup-pvc: "true"annotation. When set on a PipelineRun usingcoschedule: workspaces, PVCs created fromvolumeClaimTemplateworkspaces are automatically deleted on completion. User-providedpersistentVolumeClaimworkspaces are never affected.Fixes
Fixed SSH credential matching to support multiple repositories on the same host with different SSH keys. Previously, when using multiple SSH auth secrets for different repositories on the same Git server (e.g., github.com/org/repo1 and github.com/org/repo2), SSH would use the first key for all repositories, causing authentication failures with deploy keys. SSH Host aliases and Git
url.*.insteadOfrewriting now enable per-repository SSH key selection when the secret annotation URL includes a repo path.ix entrypoint step-init to handle container restarts gracefully. Previously, if a container restarted within a pod (e.g. due to OOM or eviction), the init process would fail with "symlink: file exists" because symlinks from the previous run persisted on the shared volume.
eplace silent "default" namespace fallback in GetNameAndNamespace with an explicit error, preventing potential ResolutionRequest creation in wrong namespace.
ix context key collision in resolution framework where RequestName() silently returned the namespace value, and fix nil pointer panic in ownerRefsAreEqual when both Controller fields are nil.
ix cluster resolver namespace access control: trim whitespace in allowed/blocked namespace lists, fix wildcard (*) handling when combined with explicit entries, and reject empty default-namespace values.
ction required: The
tekton_pipelines_controller_taskruns_pod_latency_millisecondsmetric has been converted from a Gauge to a Histogram and thepodlabel has been removed. Dashboards or alerts referencing this metric will need to be updated to usehistogram_quantile()instead of direct value queries.ix credential volume name collisions when namespaces have many (118+)
annotated secrets. Volume names now use deterministic SHA-256 hashing
instead of truncation with random suffix.
Fixed overcounting in the
running_taskrunsmetric forTaskRuns with no condition set yet.When
spec.timeouts.tasksorspec.timeouts.finallyon a PipelineRun exceeds the global default timeout, the value is now propagated to individual child TaskRuns that do not have an explicit per-task timeout. This prevents TaskRuns from being prematurely canceled at the global default (e.g., 1h) when the PipelineRun allows a longer duration.Fix resolver cache race condition causing duplicate upstream pulls under concurrent load.
Fixed Git credential matching to support multiple repositories on the same host with different credentials. Previously, when using multiple secrets for different repositories on the same Git server (e.g., github.com/org/repo1 and github.com/org/repo2), it incorrectly use the first credential for all repositories, causing authentication failures. Git credential contexts now include
useHttpPath = true, enabling proper per-repository credential selection.Misc
🔨 perf(pipelinerun): hoist VerificationPolicy list out of per-task loop in resolvePipelineState (#9601)
🔨 ci: fix GitHub Actions security issues found by zizmor (#9667)
🔨 Extract memberOfLookup from createChildResourceLabels to reduce nested loop (#9596)
🔨 cleanup: replace GCS release URLs with infra.tekton.dev (#9569)
🔨 fix: Upgrade Gitea test infrastructure from v1.17.1 to latest (#9568)
🔨 chore: bump knative.dev/pkg to main and k8s libs to 0.35.1 (#9470)
🔨 Update stale comment about storing TaskSpec in status (#9661)
🔨 build(deps): bump the all group in /tekton with 4 updates (#9652)
🔨 build(deps): bump github/codeql-action from 4.33.0 to 4.34.1 (#9651)
🔨 build(deps): bump actions/cache from 5.0.3 to 5.0.4 (#9650)
🔨 build(deps): bump chainguard-dev/actions from 1.6.8 to 1.6.9 (#9649)
🔨 build(deps): bump github.com/spiffe/spire-api-sdk from 1.14.3 to 1.14.4 (#9648)
🔨 build(deps): bump k8s.io/apimachinery from 0.35.2 to 0.35.3 (#9639)
🔨 build(deps): bump k8s.io/client-go from 0.35.2 to 0.35.3 (#9638)
🔨 build(deps): bump k8s.io/api from 0.34.5 to 0.34.6 in /test/custom-task-ctrls/wait-task-beta (#9637)
🔨 build(deps): bump k8s.io/client-go from 0.34.5 to 0.34.6 in /test/custom-task-ctrls/wait-task-beta (#9634)
🔨 build(deps): bump github.com/spiffe/spire-api-sdk from 1.14.1 to 1.14.3 (#9629)
🔨 build(deps): bump google.golang.org/grpc from 1.79.2 to 1.79.3 (#9628)
🔨 build(deps): bump github.com/google/go-containerregistry from 0.21.2 to 0.21.3 (#9627)
🔨 build(deps): bump github.com/tektoncd/pipeline from 1.10.0 to 1.10.2 in /test/custom-task-ctrls/wait-task-beta (#9626)
🔨 build(deps): bump golang.org/x/sync from 0.19.0 to 0.20.0 (#9611)
🔨 build(deps): bump the all group in /tekton with 4 updates (#9587)
🔨 build(deps): bump github/codeql-action from 4.32.6 to 4.33.0 (#9586)
🔨 build(deps): bump fgrosse/go-coverage-report from 1.2.0 to 1.3.0 (#9585)
🔨 build(deps): bump step-security/harden-runner from 2.15.1 to 2.16.0 (#9584)
🔨 build(deps): bump chainguard-dev/actions from 1.6.7 to 1.6.8 (#9583)
🔨 Remove opencensus dependency from test files (#9553)
🔨 Update tj-actions/changed-files version comment to v47.0.5 (#9552)
🔨 build(deps): bump go.opentelemetry.io/otel/trace from 1.41.0 to 1.42.0 (#9549)
🔨 build(deps): bump github.com/google/go-containerregistry from 0.21.1 to 0.21.2 (#9548)
🔨 build(deps): bump google.golang.org/grpc from 1.79.1 to 1.79.2 (#9547)
🔨 build(deps): bump step-security/harden-runner from 2.15.0 to 2.15.1 (#9542)
🔨 build(deps): bump the all group in /tekton with 4 updates (#9541)
🔨 build(deps): bump tj-actions/changed-files from 47.0.4 to 47.0.5 (#9540)
🔨 build(deps): bump chainguard-dev/actions from 1.6.5 to 1.6.7 (#9539)
🔨 build(deps): bump github/codeql-action from 4.32.5 to 4.32.6 (#9538)
🔨 build(deps): bump actions/dependency-review-action from 4.8.3 to 4.9.0 (#9536)
🔨 Nominate khrm and aThorp96 as pipeline approvers (#9519)
🔨 Move inactive approvers to alumni (#9518)
🔨 build(deps): bump k8s.io/apiextensions-apiserver from 0.35.1 to 0.35.2 (#9487)
🔨 build(deps): bump the all group in /tekton with 4 updates (#9483)
🔨 build(deps): bump github/codeql-action from 4.32.4 to 4.32.5 (#9482)
🔨 build(deps): bump step-security/harden-runner from 2.14.2 to 2.15.0 (#9481)
🔨 build(deps): bump actions/setup-go from 6.2.0 to 6.3.0 (#9480)
🔨 build(deps): bump chainguard-dev/actions from 1.6.4 to 1.6.5 (#9479)
🔨 build(deps): bump actions/upload-artifact from 6.0.0 to 7.0.0 (#9478)
🔨 build(deps): bump go.opentelemetry.io/otel/metric from 1.40.0 to 1.41.0 (#9477)
🔨 build(deps): bump k8s.io/apimachinery from 0.35.1 to 0.35.2 (#9476)
🔨 build(deps): bump k8s.io/client-go from 0.34.3 to 0.34.5 in /test/custom-task-ctrls/wait-task-beta (#9475)
🔨 build(deps): bump k8s.io/code-generator from 0.35.1 to 0.35.2 (#9473)
🔨 build(deps): bump k8s.io/api from 0.34.3 to 0.34.5 in /test/custom-task-ctrls/wait-task-beta (#9472)
🔨 build(deps): bump k8s.io/apiextensions-apiserver from 0.34.3 to 0.34.5 (#9455)
🔨 build(deps): bump github.com/tektoncd/pipeline from 1.9.1 to 1.10.0 in /test/custom-task-ctrls/wait-task-beta (#9453)
🔨 build(deps): bump k8s.io/client-go from 0.34.3 to 0.34.4 (#9447)
🔨 build(deps): bump go.opentelemetry.io/otel/trace from 1.39.0 to 1.40.0 (#9445)
🔨 fix: release cheat sheet doc typos (#9415)
Docs
Update the pipeline API published at https://tekton.dev/docs/pipelines/pipeline-api/
Clean up stale TODO in auth.md
Added auth doc scope to distinguish credentials for processes inside Steps from Kubernetes imagePullSecrets for pulling Step images.
Thanks
Thanks to these contributors who contributed to v1.11.0!
Extra shout-out for awesome release notes:
v1.10.2: Tekton Pipeline release v1.10.2 "LaPerm Little Helper"Compare Source
-Docs @ v1.10.2
-Examples @ v1.10.2
Installation one-liner
Attestation
The Rekor UUID for this release is
108e9186e8c5677a104b9492904b91b09e714ee02dae9637eee78dfd892d6ca7cab46ce0208fd387Obtain 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.
Thanks
Thanks to these contributors who contributed to v1.10.2!
v1.10.1: Tekton Pipeline release v1.10.1 "LaPerm Little Helper"Compare Source
-Docs @ v1.10.1
-Examples @ v1.10.1
Installation one-liner
Attestation
The Rekor UUID for this release is
108e9186e8c5677a8754062aee1bb73b992fe19d8c70544f16dd0bd502e19006c984c56928e9df4fObtain the attestation:
Verify that all container images in the attestation are in the release file:
Changes
Features
Fixes
Misc
Docs
Thanks
Thanks to these contributors who contributed to v1.10.1!
Extra shout-out for awesome release notes:
v1.10.0: Tekton Pipeline release v1.10.0 "LaPerm Little Helper"Compare Source
🎉 Observability, evolved: Tekton Pipelines migrates to OpenTelemetry 🎉
-Docs @ v1.10.0
-Examples @ v1.10.0
Installation one-liner