IPBUF安全漏洞报告
English
CVE-2026-23695 CVSS 5.4 中危

CVE-2026-23695 Cockpit CMS存储型XSS漏洞

披露日期: 2026-05-15

漏洞信息

漏洞编号
CVE-2026-23695
漏洞类型
存储型XSS
CVSS评分
5.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
Cockpit CMS

相关标签

XSSCockpit CMSWeb安全存储型XSSCVE-2026-23695

漏洞概述

Cockpit CMS 2.14.0及之前版本在Set字段类型的Display template选项中存在存储型跨站脚本(XSS)漏洞。由于模板字符串通过`new Function()`处理并由Vue的`v-html`指令渲染,缺乏必要的过滤机制。拥有`content/:models/manage`权限的攻击者可注入恶意JavaScript,该脚本会在任何查看集合项目列表的用户的浏览器中执行。

技术细节

该漏洞位于Cockpit CMS的模型管理功能中,具体涉及Set字段类型的显示模板(Display template)配置。系统在处理用户输入的模板字符串时,使用了`$interpolate`函数,该函数底层依赖`new Function()`将字符串动态转换为可执行代码。处理后的内容随后通过Vue.js的`v-html`指令进行渲染,且未进行HTML实体编码或安全净化。攻击者只需具备内容模型管理权限(PR:L),即可在Display template字段中植入恶意载荷。由于是存储型漏洞,恶意代码会持久保存在数据库中。当管理员或其他用户访问受影响的集合列表时,恶意脚本即在受害者浏览器上下文中触发,可能导致窃取凭证、会话劫持或恶意操作。

攻击链分析

STEP 1
1. 获取权限
攻击者注册或获取一个具有 content/:models/manage 权限的低权限账户。
STEP 2
2. 构造Payload
攻击者编写恶意的JavaScript代码,旨在窃取Cookie或执行其他恶意操作。
STEP 3
3. 注入漏洞
攻击者访问后台的模型管理页面,找到使用Set字段的集合,将恶意代码注入到'Display template'选项中并保存。
STEP 4
4. 触发执行
等待或诱导管理员或其他具有查看权限的用户访问该集合的项目列表页面。
STEP 5
5. 达成目的
受害者的浏览器在渲染列表时执行恶意脚本,攻击者从而窃取敏感信息或接管会话。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- Payload to inject into Set field 'Display template' --> <img src=x onerror=alert('XSS')> <!-- Explanation --> // 1. Log in to Cockpit CMS with an account having 'content/:models/manage' permission. // 2. Navigate to a collection model using the 'Set' field type. // 3. Edit the 'Display template' option of the Set field. // 4. Inject the payload above and save. // 5. View the collection list to trigger the XSS.

影响范围

Cockpit CMS <= 2.14.0

防御指南

临时缓解措施
在无法立即升级的情况下,建议管理员审查所有Set字段的Display template配置,移除可疑内容。同时,应尽可能减少拥有模型修改权限的用户数量,并建议用户在访问后台时启用浏览器的脚本拦截功能作为临时防护。

参考链接

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