CVE-2026-40938
HighCVSS 7.5Exploitation Probability (EPSS)
Elevated risk53th percentile - higher than 53% of all known CVEs
Summary
A vulnerability in Tekton Pipelines allows an attacker to inject flags into the git fetch command via the git resolver's revision parameter. Lack of validation that the parameter does not start with a hyphen enables arbitrary binary execution on the resolver pod. Combined with allowed local filesystem URLs, an attacker can escalate privileges and exfiltrate cluster-wide secrets.
Risk Assessment
The risk for the organization includes full Kubernetes cluster compromise, as the resolver pod has access to all secrets in the cluster. An attacker can exfiltrate sensitive data such as passwords, API keys, and certificates, leading to a breach of the entire infrastructure.
Recommendation
Immediately upgrade Tekton Pipelines to versions 1.0.2, 1.3.4, 1.6.2, 1.9.3, or 1.11.1 depending on your branch. Additionally, restrict the ability to create ResolutionRequest objects to trusted entities only.
Other vulnerabilities in Tekton Pipelines
See all- CVE-2026-40161High
In the Tekton Pipelines project, versions from 1.0.0 to 1.0.1 and 1.3.4, 1.6.2, 1.9.3, 1.11.1, the Git resolver in API mode sends the configured Git API token to a user-controlled serverURL when the token parameter is omitted. A user with TaskRun or PipelineRun create permissions can exfiltrate the shared API token.
- CVE-2026-33211Critical
A path traversal vulnerability in the Tekton Pipelines git resolver via the `pathInRepo` parameter allows tenants with `ResolutionRequests` creation permissions to read arbitrary files from the resolver pod's filesystem, including ServiceAccount tokens.
- CVE-2023-37264Low
The Tekton Pipelines project does not validate child UIDs in version 0.35.0 and later, allowing users with access to create TaskRuns to create their own Tasks that the Pipelines controller accepts as child Tasks.
Original NVD description (English source)
Tekton Pipelines project provides k8s-style resources for declaring CI/CD-style pipelines. Starting in version 1.0.0 and prior to versions 1.0.2, 1.3.4, 1.6.2, 1.9.3, and 1.11.1, the git resolver's revision parameter is passed directly as a positional argument to git fetch without any validation that it does not begin with a - character. Because git parses flags from mixed positional arguments, an attacker can inject arbitrary git fetch flags such as --upload-pack=<binary>. Combined with the validateRepoURL function explicitly permitting URLs that begin with / (local filesystem paths), a tenant who can submit ResolutionRequest objects can chain these two behaviors to execute an arbitrary binary on the resolver pod. The tekton-pipelines-resolvers ServiceAccount holds cluster-wide get/list/watch on all Secrets, so code execution on the resolver pod enables full cluster-wide secret exfiltration. Versions 1.0.2, 1.3.4, 1.6.2, 1.9.3, and 1.11.1 fix the issue.

