IPBUF安全漏洞报告
English
CVE-2026-33022 CVSS 6.5 中危

CVE-2026-33022 Tekton Pipelines 拒绝服务漏洞

披露日期: 2026-03-20

漏洞信息

漏洞编号
CVE-2026-33022
漏洞类型
拒绝服务
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Tekton Pipelines

相关标签

拒绝服务DoSTektonKubernetesCI/CD逻辑漏洞

漏洞概述

Tekton Pipelines 存在拒绝服务漏洞,允许拥有创建 TaskRun 或 PipelineRun 权限的攻击者通过设置超长解析器名称(31+字符)触发控制器 panic。由于名称生成逻辑的截断缺陷,控制器崩溃后进入 CrashLoopBackOff 状态,导致集群内所有 CI/CD 调度受阻,直至恶意资源被手动删除。该漏洞影响多个版本分支,需尽快升级修复。

技术细节

该漏洞核心在于 Tekton Pipelines 控制器中的名称生成函数。当控制器处理 TaskRun 或 PipelineRun 时,需基于 .spec.taskRef.resolver 生成符合 DNS-1123 标准(最大63字符)的确定名称。通常名称由“解析器名称+哈希值”组成。当解析器名称超过31个字符时,总长度将超限。代码中的截断逻辑试图通过查找空格来分割字符串以保留哈希后缀,但自定义解析器名称通常不含空格,导致索引计算错误(如产生[-1]切片),从而触发 Go 语言运行时 panic。崩溃后的控制器在重启时会重新加载该恶意资源,再次崩溃并陷入 CrashLoopBackOff,导致集群级 CI/CD 流程完全中断。

攻击链分析

STEP 1
侦察
攻击者确认目标集群运行了存在漏洞的 Tekton Pipelines 版本,并拥有创建 TaskRun 或 PipelineRun 的权限。
STEP 2
资源创建
攻击者构造恶意的 TaskRun 或 PipelineRun 资源,将 .spec.taskRef.resolver 或 .spec.pipelineRef.resolver 字段设置为长度超过31个字符的自定义字符串。
STEP 3
触发崩溃
控制器尝试处理该资源,在生成确定名称时因切片越界触发 panic 导致进程崩溃。
STEP 4
持续拒绝服务
控制器重启后再次尝试协调该恶意资源,导致持续崩溃(CrashLoopBackOff),集群内所有 CI/CD 任务无法执行。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
apiVersion: tekton.dev/v1 kind: TaskRun metadata: name: poc-cve-2026-33022 spec: # Use a resolver name longer than 31 characters # to trigger the panic in the controller. taskRef: resolver: "this-is-a-very-long-custom-resolver-name-over-31-chars" params: - name: name value: example-task

影响范围

Tekton Pipelines 0.60.0 - 1.0.0
Tekton Pipelines 1.1.0 - 1.3.2
Tekton Pipelines 1.4.0 - 1.6.0
Tekton Pipelines 1.7.0 - 1.9.0
Tekton Pipelines 1.10.0
Tekton Pipelines 1.10.1

防御指南

临时缓解措施
在无法立即升级的情况下,管理员应密切监控控制器日志,一旦发现 panic 崩溃,立即排查并删除包含超长 resolver 名称的 TaskRun 或 PipelineRun 资源以恢复服务。同时严格限制普通用户创建自定义解析器任务的权限。

参考链接

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