CVE-2025-10570CVE-2025-10570是WordPress平台上Flexible Refund and Return Order for WooCommerce插件中存在的一个权限缺失(Missing Authorization)漏洞。该插件是一款用于WooCommerce电商平台的退款和退货订单管理工具,允许商家处理客户的退款请求。该漏洞影响该插件所有1.0.38及以下版本。
根据Wordfence安全团队([email protected])的披露,该漏洞位于插件的save_refund_request()函数中。由于该函数缺少对当前用户身份的有效验证和权限检查,具有订阅者(subscriber)级别访问权限及以上的认证攻击者可以利用此漏洞为任意不属于自己的订单提交退款请求。这意味着攻击者可以在未经授权的情况下,操纵其他用户的订单状态,发起退款流程,从而对商家和合法客户造成经济损失和业务混乱。
该漏洞的CVSS 3.1评分为4.3分,属于中危级别。其攻击向量为网络攻击(AV:N),攻击复杂度低(AC:L),但需要低权限认证(PR:L),无需用户交互(UI:N)。从影响维度来看,该漏洞对机密性影响低(C:L),对完整性影响低(I:L),对可用性无影响(A:N)。虽然评级为中危,但由于涉及电商平台的资金交易流程,其实际业务影响不容忽视。
该漏洞的根本原因在于Flexible Refund and Return Order for WooCommerce插件的save_refund_request()函数未实施充分的授权检查机制。
在正常的退款流程中,该函数负责处理用户提交的退款请求,将退款信息保存到数据库中。然而,在该函数处理退款请求的过程中,缺少对当前登录用户是否拥有目标订单的验证逻辑。具体而言,函数没有检查以下关键授权要素:
1. 当前用户是否为该订单的所有者;
2. 当前用户是否具有提交退款的合法权限;
3. 目标订单是否属于当前用户的管理范围。
由于缺少这些授权检查,任何具有WordPress订阅者级别(subscriber)或更高权限的认证用户都可以通过构造特定的HTTP请求,调用save_refund_request()函数,指定任意订单ID来提交退款请求。攻击者无需拥有该订单的所有权,只需拥有基本的订阅者账户即可执行此操作。
利用方式方面,攻击者首先需要注册一个WordPress订阅者级别的账户(许多网站允许开放注册),然后通过已认证的会话向存在漏洞的端点发送包含目标订单ID的退款请求。由于服务端仅验证了用户是否已登录(认证),而未验证用户是否对该订单拥有合法权限(授权),因此请求会被成功处理,退款请求将被创建并保存到系统中。