IPBUF安全漏洞报告
English
CVE-2021-47931 CVSS 6.4 中危

CVE-2021-47931 Exponent CMS存储型XSS漏洞

披露日期: 2026-05-10

漏洞信息

漏洞编号
CVE-2021-47931
漏洞类型
存储型跨站脚本
CVSS评分
6.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Exponent CMS

相关标签

XSS存储型XSSExponent CMSWeb安全信息泄露CVE-2021-47931

漏洞概述

Exponent CMS 2.6版本存在存储型跨站脚本漏洞(CVE-2021-47931)。由于应用未对用户输入进行充分过滤,经过身份验证的攻击者可利用文本编辑端点的Title和Text Block参数注入恶意脚本。攻击者通过注入包含SVG onload事件的iframe载荷执行任意JS。此外,系统还存在数据库凭证泄露及登录接口缺乏暴力破解保护的问题,严重威胁应用安全。

技术细节

该漏洞主要源于Exponent CMS 2.6在处理文本编辑模块数据时的输入验证机制失效。攻击者在通过低权限认证后,可利用应用程序对HTML标签过滤不严的缺陷,在“Title”和“Text Block”参数中嵌入恶意载荷。具体的利用方式包括注入带有嵌入式SVG onload事件的iframe标签,这种混合载荷常用于绕过基础的XSS过滤器。一旦载荷被保存至数据库,每当管理员或其他用户访问受影响的页面时,嵌入的JavaScript代码便会在其浏览器环境中自动执行,进而窃取会话令牌或进行恶意操作。此外,分析发现该应用在HTTP响应中直接暴露了数据库连接凭证,且认证端点未设置速率限制,这使得攻击者不仅可以通过XSS客户端攻击,还能结合凭证泄露和暴力破解手段进一步渗透服务器,极大提升了攻击的成功率和危害程度。

攻击链分析

STEP 1
步骤1:获取凭证
攻击者利用系统缺乏暴力破解保护的缺陷,通过暴力破解或利用泄露的数据库凭证获取低权限用户账户。
STEP 2
步骤2:注入Payload
攻击者登录系统,访问文本编辑端点,在Title或Text Block参数中插入包含iframe和SVG onload事件的恶意XSS代码。
STEP 3
步骤3:持久化存储
应用程序将未经过滤的恶意数据存储在数据库中。
STEP 4
步骤4:触发漏洞
当管理员或其他用户浏览包含被篡改内容的页面时,浏览器解析恶意代码并执行攻击者预设的JavaScript脚本。
STEP 5
步骤5:执行攻击
攻击者窃取受害者Session、执行未授权操作或进一步控制用户浏览器。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- PoC for CVE-2021-47931 Stored XSS --> <!-- Inject this payload into the Title or Text Block parameter --> <iframe src="data:text/html,<svg/onload=alert(document.cookie)>"> </iframe>

影响范围

Exponent CMS 2.6

防御指南

临时缓解措施
建议立即限制普通用户对文本编辑模块的写入权限,并在Web应用防火墙(WAF)中部署规则,拦截包含`<iframe>`、`<svg>`、`onload`等可疑特征的请求。同时,应全面审查应用程序代码,移除响应中泄露的数据库凭证,并临时加强日志监控以发现异常登录行为。

参考链接