CVE-2025-49929CVE-2025-49929是Ultimate Blocks WordPress插件中存在的一个存储型跨站脚本(Stored XSS)漏洞。该漏洞由安全研究员[email protected]发现并报告,CVSS 3.1评分为6.5,属于中危级别。Ultimate Blocks是一款广泛使用的WordPress Gutenberg区块编辑器增强插件,为网站管理员提供了多种内容创建区块。该漏洞源于插件在网页生成过程中未能正确对用户输入进行充分的中和与过滤(Improper Neutralization of Input During Web Page Generation),导致恶意攻击者可以将恶意脚本代码存储到服务器端,当其他用户访问包含恶意代码的页面时,存储的脚本将在受害者浏览器中自动执行。由于该漏洞为存储型XSS,恶意载荷会持久化保存在数据库中,影响范围更广,危害更大。攻击者需要拥有低权限账户(如订阅者或贡献者角色)即可利用此漏洞实施攻击,且需要受害者进行一定程度的交互(如访问特定页面)。该漏洞影响Ultimate Blocks插件从n/a到3.3.6及以下的所有版本,建议使用该插件的网站管理员尽快升级到修复版本以消除安全风险。
该漏洞属于典型的存储型XSS漏洞,其根本原因是Ultimate Blocks插件在处理用户输入数据时缺乏足够的输出编码和输入验证机制。具体技术原理如下:
1. **输入点**:Ultimate Blocks插件提供了多个允许用户输入自定义内容的区块(如按钮区块、表格区块、通知区块等),这些区块接受用户输入的文本、HTML属性或URL等数据。
2. **过滤缺失**:插件在保存用户输入到数据库之前,没有对输入内容进行充分的HTML实体编码或恶意脚本过滤,允许攻击者提交包含JavaScript代码的恶意载荷。
3. **存储机制**:恶意载荷通过正常的区块内容保存流程被存储到WordPress数据库的wp_posts或wp_postmeta表中。
4. **输出执行**:当其他用户(包括管理员)访问包含该恶意区块的页面时,服务器从数据库中读取内容并直接渲染到HTML页面中,未进行适当的上下文转义,导致浏览器将存储的数据解释为可执行脚本。
5. **利用方式**:攻击者可以注入如`<script>alert(document.cookie)</script>`或`<img src=x onerror=...>`等恶意代码,当受害者浏览页面时执行,可窃取会话Cookie、劫持账户权限、进行钓鱼攻击或进一步植入后门。
该漏洞利用需要低权限账户(PR:L),通过网络(AV:N)发起攻击,且需要用户交互(UI:R)触发,攻击复杂度较低(AC:L),对机密性、完整性和可用性均产生低程度影响。