CVE-2025-11728CVE-2025-11728是WordPress平台Oceanpayment CreditCard Gateway插件中的一个安全漏洞。该插件是一款用于WooCommerce电商网站的信用卡支付网关插件,旨在为商户提供信用卡支付处理功能。该漏洞存在于插件的'return_payment'和'notice_payment'函数中,由于开发者未对这些关键函数实施必要的身份认证和权限检查(capability checks),导致未经身份验证的攻击者可以直接远程调用这些函数,从而对WooCommerce订单数据进行未授权修改。具体而言,攻击者可以将任意订单的状态篡改为'failed'(失败)状态,并修改订单关联的交易ID(transaction ID)。该漏洞影响该插件所有6.0及以下版本,由于攻击无需任何身份认证和用户交互,且可通过网络远程利用,对使用该插件的电商网站构成实质性威胁。Wordfence安全团队于2025年10月15日公开披露了该漏洞,并分配了CVE编号。该漏洞的CVSS 3.1评分为5.3分,属于中等严重等级,反映出虽然不会泄露机密信息或导致服务完全不可用,但会对订单数据的完整性造成破坏,可能引发业务逻辑混乱、退款纠纷和商户经济损失等问题。
该漏洞的根本原因在于Oceanpayment CreditCard Gateway插件在处理支付回调通知时,未对回调请求进行充分的身份验证和权限校验。具体技术分析如下:
1. **回调函数未受保护**:插件中的'return_payment'和'notice_payment'两个函数分别用于处理支付完成后的同步通知(return)和异步通知(notice)。这两个函数被设计为接收支付网关服务器发送的回调请求,但在实现过程中,开发者未添加WordPress标准的nonce验证、用户权限检查(current_user_can)或其他身份认证机制。
2. **直接函数调用风险**:在WordPress插件开发中,如果将关键业务函数注册为可通过HTTP直接访问的回调端点(如通过admin-post.php、admin-ajax.php或REST API),而未实施适当的访问控制,则任何能够访问网站的网络攻击者都可以构造恶意请求来调用这些函数。
3. **数据篡改机制**:当攻击者成功调用'return_payment'或'notice_payment'函数时,可以在请求中传入精心构造的参数(如订单ID和交易ID),插件会直接根据这些参数更新WooCommerce数据库中的订单状态和交易记录,将合法订单标记为'failed'状态。
4. **攻击影响**:攻击者无需任何凭证即可执行以下操作:(a) 将任意有效订单的状态修改为'failed',干扰正常订单处理流程;(b) 篡改订单的交易ID,可能掩盖真实的支付凭证;(c) 可能引发后续的退款纠纷或财务混乱。
5. **漏洞位置**:根据参考链接,该漏洞存在于class-wc-oceancreditcard.php文件的第489行(return_payment函数)和第594行(notice_payment函数)附近。