CVE-2025-14460Piraeus Bank WooCommerce Payment Gateway是WordPress电商平台上一款用于接收Piraeus银行支付的网关插件。该插件在3.1.4及以下所有版本中存在严重的授权检查缺失漏洞。攻击者可以利用支付回调端点的缺陷,无需任何认证即可修改任意订单的状态为「failed」。由于WooCommerce的订单ID采用顺序递增的整数机制,攻击者可以轻易枚举系统中的有效订单ID并批量修改其状态。此漏洞可导致严重的业务中断,包括取消订单配送、库存管理混乱、用户体验恶化以及潜在的经济损失。攻击者无需特殊权限即可发起攻击,且该漏洞可通过公开的WooCommerce API端点被利用。
漏洞根源在于插件的WC_Piraeusbank_Gateway类中的支付回调处理函数(位于classes/WC_Piraeusbank_Gateway.php#L821附近)。当支付网关返回'fail'状态时,插件直接处理请求而未验证请求来源的合法性和发起者的权限。具体问题包括:1) 回调端点缺少CSRF token验证;2) 未检查请求是否来自合法的支付网关IP或域名;3) 未验证MerchantReference参数对应的订单是否属于当前请求者;4) 缺少woocommerce_api请求来源验证。由于订单ID可被枚举(顺序整数),攻击者只需构造包含目标订单ID的POST请求即可将订单状态强制改为失败状态,触发WooCommerce的订单失败处理流程。