IPBUF安全漏洞报告
English
CVE-2026-33211 CVSS 9.6 严重

CVE-2026-33211: Tekton Pipelines路径遍历漏洞

披露日期: 2026-03-24

漏洞信息

漏洞编号
CVE-2026-33211
漏洞类型
路径遍历
CVSS评分
9.6 严重
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Tekton Pipelines

相关标签

路径遍历Path TraversalTektonKubernetesCI/CD信息泄露权限提升

漏洞概述

Tekton Pipelines 是一个用于在 Kubernetes 上声明 CI/CD 流水线的项目。在版本 1.0.0 及之后,但在 1.0.1、1.3.3、1.6.1、1.9.2 和 1.10.2 之前的版本中,其 git 解析器存在严重的安全漏洞。该漏洞源于 `pathInRepo` 参数未经过滤,允许路径遍历攻击。拥有创建 `ResolutionRequests` 权限的租户(例如通过创建使用 git 解析器的 `TaskRuns` 或 `PipelineRuns`),可以读取解析器 Pod 文件系统上的任意文件。敏感内容(如 ServiceAccount 令牌)会被读取并以 base64 编码形式返回在 `resolutionrequest.status.data` 中,这可能导致集群权限被完全接管。

技术细节

该漏洞的原理是 Tekton Pipelines 的 git resolver 在处理用户输入的 `pathInRepo` 参数时,未能正确校验路径边界,导致存在目录遍历漏洞。攻击者可以利用 `../` 序列突破 git 仓库的预期目录结构,访问 resolver pod 容器内的任意文件系统路径。在 Kubernetes 环境中,Service Account token 通常自动挂载在 `/var/run/secrets/kubernetes.io/serviceaccount/` 路径下。攻击者只需构造一个恶意的 TaskRun 或 PipelineRun,将 `pathInRepo` 指向该敏感路径。当 resolver pod 执行解析逻辑时,它会读取本地文件系统而非远程仓库内容,并将结果通过 status 字段暴露给攻击者。由于 CVSS 评分为 9.6,且影响范围涉及机密性和完整性,该漏洞允许低权限攻击者通过窃取凭证进行权限提升,进而控制整个集群。

攻击链分析

STEP 1
步骤1:权限获取
攻击者获取在 Kubernetes 集群中创建 TaskRun 或 PipelineRun 的权限。
STEP 2
步骤2:构造恶意请求
攻击者创建一个使用 git resolver 的 TaskRun,并在 `pathInRepo` 参数中注入路径遍历 payload(如 `../../../../../..`),指向 `/var/run/secrets/kubernetes.io/serviceaccount/token`。
STEP 3
步骤3:触发漏洞
Tekton Controller 接收请求并调度 resolver pod 执行解析逻辑。
STEP 4
步骤4:文件读取与回传
Resolver pod 未正确过滤路径,读取了本地文件系统中的 ServiceAccount token,将其 base64 编码后写入 `ResolutionRequest` 的 status 字段。
STEP 5
步骤5:窃取凭证
攻击者查询 TaskRun 或 ResolutionRequest 的状态,解码 base64 数据以获取高权限的 ServiceAccount Token。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# Malicious TaskRun YAML to exploit path traversal via git resolver apiVersion: tekton.dev/v1 kind: TaskRun metadata: name: path-traversal-poc spec: taskRef: resolver: git params: - name: url value: https://github.com/tektoncd/pipeline - name: revision value: main # Exploit: Traverse out of repo to read SA token - name: pathInRepo value: ../../../../../../../../var/run/secrets/kubernetes.io/serviceaccount/token

影响范围

Tekton Pipelines >= 1.0.0, < 1.0.1
Tekton Pipelines >= 1.0.0, < 1.3.3
Tekton Pipelines >= 1.0.0, < 1.6.1
Tekton Pipelines >= 1.0.0, < 1.9.2
Tekton Pipelines >= 1.0.0, < 1.10.2

防御指南

临时缓解措施
如果无法立即升级,应严格限制命名空间内普通用户对 `tekton.dev` 资源的创建权限,仅允许受信任的 CI 系统账户操作。建议审查集群中现有的 TaskRuns 和 PipelineRuns,检测是否存在异常的文件访问行为。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表