CVE-2025-12643CVE-2025-12643是WordPress插件Saphali LiqPay for donate中的一个高危安全漏洞。该插件用于处理LiqPay支付捐款功能,在1.0.2及之前的所有版本中存在存储型跨站脚本(XSS)漏洞。漏洞根源在于插件对用户提供的shortcode属性参数缺乏充分的输入 sanitization(消毒)和输出转义(escape)处理。攻击者通过利用'saphali_liqpay'短代码功能,可以在页面中注入任意Web脚本代码。由于漏洞属于存储型XSS,恶意代码会被永久保存在服务器端,任何访问包含恶意代码页面的用户都会触发执行攻击脚本。此漏洞需要攻击者具备WordPress网站 contributor 级别及以上的账户权限,虽然认证要求降低了攻击门槛,但仍然限制了利用范围。CVSS 3.1评分6.4,属于中等严重程度,主要影响网站的机密性和完整性。
该漏洞位于插件的 liqpay-d.php 文件中(约第102行附近),具体是 saphali_liqpay shortcode 的属性处理逻辑。插件在处理短代码属性时,直接将用户输入的参数值用于HTML输出,而没有进行适当的HTML实体转义或输入验证。攻击者可以通过构造恶意的shortcode属性值,如在属性中注入<script>标签或事件处理器(如 onerror、onload 等),来实现JavaScript代码执行。由于WordPress的shortcode机制会在页面渲染时自动解析并输出内容,恶意脚本会被嵌入到页面HTML中,形成存储型XSS攻击面。攻击者利用此漏洞可以窃取用户会话cookie、劫持用户账户、进行钓鱼攻击或传播恶意内容。修复需要在输出前对所有用户可控的属性值进行htmlspecialchars()或类似函数的转义处理。