CVE-2026-33022Tekton 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 流程完全中断。