IPBUF安全漏洞报告
English
CVE-2026-44245 CVSS 6.1 中危

CVE-2026-44245 Kyverno 存储型XSS漏洞

披露日期: 2026-05-12

漏洞信息

漏洞编号
CVE-2026-44245
漏洞类型
跨站脚本攻击 (XSS)
CVSS评分
6.1 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
Kyverno

相关标签

XSSStored XSSKyvernoKubernetesCVE-2026-44245Vue.js

漏洞概述

Kyverno 2.5.2 之前版本存在存储型XSS漏洞。PropertyCard.vue 组件使用 v-html 渲染数据且仅过滤 http/https 链接。攻击者可利用 PolicyReport 注入恶意 HTML,绕过过滤并在受害者浏览器执行脚本。

技术细节

该漏洞源于 Kyverno 前端 PropertyCard.vue 组件对 Kubernetes PolicyReport 数据的不安全渲染。组件使用 Vue 3 的 v-html 指令处理 .results[].properties 字段,该指令禁用了自动转义。尽管代码中包含 isURL() 守卫,但其逻辑仅拦截以 http: 或 https: 开头的字符串。因此,攻击者若拥有 PolicyReport 写入权限,可注入不以这些协议开头的恶意 HTML 载荷(如 <img> 标签)。当管理员查看受影响的仪表盘页面时,载荷将被注入 DOM 并执行,可能导致窃取管理员凭证或执行恶意操作。

攻击链分析

STEP 1
1. 权限获取
攻击者获取对集群中 PolicyReport 或 ClusterPolicyReport 对象的写入权限。
STEP 2
2. 载荷注入
攻击者创建或修改 PolicyReport,在 properties 字段中注入非 http/https 协议的恶意 HTML 载荷。
STEP 3
3. 触发渲染
Kyverno 仪表盘读取并解析该 PolicyReport 数据。
STEP 4
4. 执行攻击
管理员访问 Kyverno UI 查看报告,PropertyCard.vue 组件使用 v-html 渲染恶意载荷,脚本在管理员浏览器中执行。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
apiVersion: wgpolicyk8s.io/v1alpha2 kind: ClusterPolicyReport metadata: name: cve-2026-44245-poc results: - policy: example-policy rule: example-rule properties: # This payload bypasses the isURL() check which only looks for http/https malicious_property: "<img src=x onerror=alert('CVE-2026-44245-XSS')>"

影响范围

Kyverno < 2.5.2

防御指南

临时缓解措施
建议立即将 Kyverno 升级至 2.5.2 或更高版本。若无法立即升级,应严格控制对集群内 PolicyReport 资源的访问权限,仅允许受信任的组件或用户写入此类资源,防止恶意数据被注入到仪表盘中。

参考链接