CVE-2025-14978PeachPay是WordPress平台上广受欢迎的WooCommerce支付插件,支持Stripe、PayPal、Square和Authorize.net等多种支付网关。该插件在1.119.8及之前的所有版本中,存在一个严重的安全漏洞:ConvesioPay webhook REST端点缺少权限验证检查(missing capability checks)。攻击者无需任何认证,即可利用该漏洞修改任意WooCommerce订单的状态。这一漏洞影响所有使用该插件的WordPress网站,可能导致订单状态被恶意篡改,造成经济损失或业务逻辑混乱。攻击者可以将未支付的订单状态修改为已支付,或者将已完成的订单回退到其他状态,从而实施欺诈行为。该漏洞已于2026年1月20日被披露,CVSS评分为5.3(中等严重程度),建议用户立即更新到最新版本以修复此安全问题。
该漏洞根因在于PeachPay插件的ConvesioPay webhook REST端点(class-peachpay-convesiopay-webhook.php)未对请求进行权限验证。正常情况下,WordPress REST API端点应使用current_filter()或权限回调函数检查当前用户是否具有管理订单的权限(如manage_woocommerce订单)。然而,该端点直接处理传入的POST请求,未验证请求来源的合法性。攻击者只需构造恶意的POST请求到相应的REST路由,即可指定任意订单ID并修改其状态。漏洞利用的关键在于:1)端点路径可被未认证用户访问;2)缺少nonce验证或capability检查;3)订单状态修改逻辑未校验用户权限。攻击者通过发送包含order_id和目标status的请求参数,即可绕过认证机制修改任意订单状态。