CVE-2025-49938CVE-2025-49938是WordPress插件JetEngine中的一个存储型跨站脚本(Stored XSS)漏洞,CVSS评分6.5,属于中危漏洞。该漏洞由Patchstack安全团队的[email protected]发现并报告。JetEngine是Crocoblock公司开发的知名WordPress页面构建器插件,广泛用于创建自定义帖子类型、自定义字段和动态内容。
该漏洞的根本原因在于JetEngine插件在处理用户输入时未能正确对输入进行中立化(Neutralization),导致恶意脚本代码可以被存储在数据库中。当其他用户访问包含恶意代码的页面时,浏览器会执行这些脚本,从而实现跨站脚本攻击。存储型XSS相比反射型XSS更为危险,因为恶意代码被永久存储在服务器端,所有访问相关页面的用户都会受到攻击。
攻击者可以利用此漏洞窃取受害者的会话cookie、劫持用户账户、进行钓鱼攻击或传播恶意软件。由于JetEngine是一个广泛使用的插件,该漏洞可能影响大量使用该插件的WordPress网站。攻击者需要拥有一定的权限(低权限即可)才能利用此漏洞,这降低了攻击门槛,使得即使是普通用户也可能成为潜在的威胁源。
该存储型XSS漏洞存在于JetEngine插件的输入处理和输出渲染环节。漏洞的具体技术细节如下:
1. **输入处理缺陷**:JetEngine在接收用户输入时,未能对特殊字符进行适当的HTML实体编码或过滤。当用户提交包含JavaScript代码的输入(如<script>标签、事件处理器属性等)时,这些恶意代码被直接存储到WordPress数据库中。
2. **输出渲染问题**:当页面渲染时,JetEngine未能正确对存储的数据进行输出编码(output encoding),导致存储的恶意脚本被浏览器解析为可执行代码。
3. **攻击向量**:攻击者可以通过JetEngine的以下功能点注入恶意XSS代码:
- 自定义字段输入
- 动态内容生成
- 列表/网格项配置
- 查询构建器
4. **利用条件**:
- 攻击者需要拥有WordPress站点的基本写权限(如作者或更高角色)
- 需要用户交互才能触发(访问包含恶意代码的页面)
- 攻击复杂度低(AC:L)
5. **影响范围**:存储的恶意脚本可以影响所有访问相关页面的用户,包括管理员,可能导致会话劫持、敏感信息泄露等严重后果。