Skip to main content

Tekton Pipelines CVE-2026-40938

| EUVDEUVD-2026-24491 HIGH
Improper Neutralization of Argument Delimiters in a Command ('Argument Injection') (CWE-88)
2026-04-21 GitHub_M GHSA-94jr-7pqp-xhcq
8.5
CVSS 3.1 · NVD
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain tenant RBAC to submit ResolutionRequest
  2. Delivery
    Craft git resolver url as local path and revision as --upload-pack flag
  3. Exploit
    Resolver runs git fetch, injected flag executes binary
  4. Execution
    Gain code execution on resolver pod
  5. Persist
    Abuse ServiceAccount to read all cluster Secrets
  6. Impact
    Exfiltrate cluster-wide credentials

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Argument sanitization
Exploitation Conditions

Exploitation requires a multi-tenant or shared Tekton deployment where the attacker holds RBAC rights to create ResolutionRequest (or TaskRun/PipelineRun) objects that invoke the git resolver - i.e., PR:L authenticated tenant access, not anonymous. The attacker must set the git resolver's 'url' parameter to an attacker-influenced local filesystem path (a URL beginning with '/', which validateRepoURL explicitly allows) and the 'revision' parameter to a git flag such as '--upload-pack=<binary>', and a suitable executable must be reachable on the resolver pod's filesystem. Limiting factors: the git resolver must be enabled, exploitation is rated high complexity (AC:H) because two distinct behaviors must be chained and a controllable binary/path is needed, and the impact is bounded by the tekton-pipelines-resolvers ServiceAccount privileges (which, however, include cluster-wide get/list/watch on Secrets). Affected versions are 1.0.0 through 1.11.0 (and pre-backport releases below 1.9.3/1.6.2/1.3.4).

Impact

Signals partially conflict and should be weighed carefully. The CVSS 3.1 vector (AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H, base 8.5) reflects network reach, low-privilege tenant access, high attack complexity (chaining two behaviors and controlling a local path/binary), and a scope change to the whole cluster's secrets. CISA SSVC rates Exploitation as 'poc', Automatable 'no', and Technical Impact 'total' - meaning a working technique is public but not trivially scalable, consistent with the AC:H rating. EPSS is only 0.07% (22nd percentile), and there is no CISA KEV listing, so there is no evidence of widespread active exploitation; the low EPSS despite a serious impact suggests this is a targeted, high-skill attack against multi-tenant clusters rather than mass exploitation. The real priority driver is context: in shared/multi-tenant Tekton deployments where untrusted users can submit ResolutionRequests, the cluster-wide secret blast radius makes this a high-priority patch; in single-tenant or trusted-operator clusters the PR:L barrier and AC:H materially reduce practical risk.

Exploit ScenarioDerived

A tenant with permission to submit ResolutionRequests to a shared Tekton cluster crafts a request to the git resolver with a repository URL pointing at a local filesystem path (permitted by validateRepoURL) and a revision value of '--upload-pack=/usr/bin/curl' (or a planted binary). When the resolver runs 'git fetch', git interprets the revision as the --upload-pack flag and executes the attacker-chosen binary on the resolver pod; the attacker then abuses the resolver ServiceAccount's cluster-wide Secret read access to exfiltrate all cluster secrets. A proof of concept is indicated by CISA SSVC (Exploitation: poc), though attack complexity is high.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 24, 2026

Argument injection in the Tekton Pipelines git resolver (versions 1.0.0 through 1.11.0) lets a multi-tenant CI/CD user achieve remote code execution on the resolver pod by supplying a crafted 'revision' parameter. Because the revision string is passed unvalidated as a positional argument to 'git fetch', an attacker can smuggle git flags such as '--upload-pack=<binary>'; combined with validateRepoURL permitting local filesystem paths (URLs beginning with '/'), this executes an arbitrary binary. Since the tekton-pipelines-resolvers ServiceAccount has cluster-wide read on all Secrets, this escalates to full cluster secret exfiltration; a proof of concept exists per CISA SSVC, though the EPSS probability is very low (0.07%).

RemediationAI

Vendor-released patch: upgrade to Tekton Pipelines 1.11.1, or to the corresponding backport for your release line - 1.9.3, 1.6.2, or 1.3.4 - using the install manifest referenced in the release notes (kubectl apply -f https://infra.tekton.dev/tekton-releases/pipeline/previous/v1.11.1/release.yaml). Red Hat OpenShift Pipelines users should apply the relevant errata (RHSA-2026:17546 / 24359 / 24484 / 26519 / 26538). Where immediate patching is not possible, reduce exposure by restricting who can create ResolutionRequest/TaskRun/PipelineRun objects via RBAC so untrusted tenants cannot invoke the git resolver (trade-off: may block legitimate self-service pipeline authors), and consider disabling the git resolver if unused (enable-git-resolver: false in the resolvers feature-flags ConfigMap, which will break pipelines that resolve tasks from git). Additionally, tighten the tekton-pipelines-resolvers ServiceAccount's cluster-wide Secret access to limit blast radius, accepting that overly narrow scoping can break legitimate secret-backed git auth. Refer to the advisory at https://github.com/tektoncd/pipeline/security/advisories/GHSA-94jr-7pqp-xhcq for authoritative guidance.

Affected VersionsENISA

pipeline 1.0.0, < 1.11.1

Affected Packages

go github.com/tektoncd/pipeline fix: 1.0.2, 1.3.4, 1.6.2, 1.9.3, 1.11.1
euvd pipeline_1_0_0 fix: 1.11.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in go, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Tekton Pipelines is a Kubernetes-native CI/CD framework that exposes 'resolvers' as controllers reconciling ResolutionRequest custom resources to fetch pipeline/task definitions from sources like git. The root cause is CWE-88 (argument injection): in pkg/resolution/resolver/git/repository.go the checkout function invokes execGit('fetch','origin',revision,'--depth=1') where 'revision' is user-controlled and never checked for a leading '-'. Git treats leading-dash positional arguments as options, so a revision like '--upload-pack=/path/to/binary' is parsed as a flag that runs a local program. This is compounded by validateRepoURL (resolver.go:154-158) whose regex '^(/|[^@]+@[^:]+|(git|https?)://)' intentionally allows local filesystem repo paths, giving the attacker a way to point git at a controllable local target. Notably PopulateDefaultParams sanitizes only the pathInRepo parameter (leading-slash strip and containsDotDot), leaving 'revision' entirely unvalidated. The affected package is go/github.com/tektoncd/pipeline (CPE cpe:2.3:a:tektoncd:pipeline).

Know when Kubernetes gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

NVD PRIMARY 8.5 HIGH
AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H
vuln.today AI 8.5 HIGH

Tenant must be authenticated to submit requests (PR:L) and chain two behaviors with a controllable local binary (AC:H); RCE on the resolver pod crosses into cluster-wide secret access, changing scope (S:C) with full C/I/A impact.

3.1 AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H
4.0 AV:N/AC:H/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:N
SUSE 7.5 HIGH
AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Red Hat 8.5 HIGH

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
High
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

5
CVSS changed
Jun 30, 2026 - 03:24 NVD
7.5 (HIGH) 8.5 (HIGH)
Patch released
Apr 28, 2026 - 15:06 nvd
Patch available
Patch available
Apr 21, 2026 - 22:17 EUVD
CVE Published
Apr 21, 2026 - 20:45 nvd
HIGH 8.5
CVE Published
Apr 21, 2026 - 20:45 nvd
HIGH 7.5

DescriptionNVD

Tekton Pipelines project provides k8s-style resources for declaring CI/CD-style pipelines. From 1.0.0 to before 1.11.0, 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. This vulnerability is fixed in 1.11.1.

Executive ViewAI

Why It Matters

Tekton Pipelines git resolver (versions 1.0.0-1.11.0) contains a vulnerability allowing users with CI/CD access to steal all cluster secrets and encryption credentials, with publicly available exploit code identified. Organizations using affected versions risk infrastructure-wide compromise and potential business disruption. Despite low real-world exploitation probability (0.1% EPSS), the potential impact to data security and system integrity warrants immediate action.

Business Impact: Severe
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.1%
Top 78% exploitable
Prevalence
Medium
widely used cloud-native CI/CD engine, but not in every environment
Threat Intel
1
1 source
Social Media
2
Sightings
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor CIRCL GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
Very High
Technical Impact
Total

Priority Score

42
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +42
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

CVE-2025-1974 CRITICAL POC
9.8 Mar 25

A critical vulnerability in Kubernetes ingress-nginx controller allows unauthenticated attackers with pod network access

CVE-2026-45321 CRITICAL POC
9.6 May 12

Credential-harvesting malware compromised 84 versions of 42 TanStack npm packages on 2026-05-11 via chained GitHub Actio

CVE-2025-1098 HIGH POC
8.8 Mar 25

Kubernetes ingress-nginx contains a configuration injection vulnerability via the mirror-target and mirror-host Ingress

CVE-2025-24514 HIGH POC
8.8 Mar 25

A security issue was discovered in ingress-nginx https://github.com/kubernetes/ingress-nginx where the `auth-url` Ingres

CVE-2025-1097 HIGH POC
8.8 Mar 25

A security issue was discovered in ingress-nginx https://github.com/kubernetes/ingress-nginx where the `auth-tls-match-c

CVE-2020-8554 MEDIUM POC
6.3 Jan 21

Kubernetes API server in all versions allow an attacker who is able to create a ClusterIP service and set the spec.exter

CVE-2023-3676 HIGH POC
8.8 Oct 31

A security issue was discovered in Kubernetes where a user that can create pods on Windows nodes may be able to escalate

CVE-2025-55190 CRITICAL POC
9.9 Sep 04

Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Rated critical severity (CVSS 9.9), this vulne

CVE-2026-34976 CRITICAL POC
10.0 Apr 02

Unauthenticated remote attackers can trigger complete database overwrites, server-side file reads, and SSRF attacks agai

CVE-2018-18843 CRITICAL POC
10.0 Dec 04

The Kubernetes integration in GitLab Enterprise Edition 11.x before 11.2.8, 11.3.x before 11.3.9, and 11.4.x before 11.4

CVE-2026-54680 CRITICAL POC
9.9 Jul 29

Fluentd configuration injection in the kube-logging Logging operator before 6.6.0 allows a namespace-scoped user who can

CVE-2026-22039 CRITICAL POC
9.9 Jan 27

Kyverno Kubernetes policy engine prior to 1.x has a privilege escalation vulnerability (CVSS 9.9) allowing policy bypass

Vendor StatusVendor

SUSE

Severity: High

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy