CVE-2025-14078CVE-2025-14078是WordPress平台PAYGENT for WooCommerce支付插件中的一个高危安全漏洞。该插件用于集成PAYMENT株式会社提供的PAYJENT支付网关服务,允许WooCommerce商店接受在线支付。漏洞存在于插件的REST API端点处理逻辑中,由于缺少适当的权限验证机制,未经身份认证的攻击者可以向插件的Webhook端点发送恶意请求,伪造支付通知数据,进而非法修改订单状态。此漏洞影响版本至2.4.6的所有版本,CVSS评分5.3,属于中危级别。攻击者无需任何用户凭证即可发起攻击,这使得漏洞利用门槛极低。由于该插件处理敏感的支付事务,漏洞被利用可能对电子商务网站的交易完整性造成严重影响,导致订单状态混乱、库存管理异常等问题。虽然漏洞本身不直接造成数据泄露或服务器被入侵,但通过操控订单状态,攻击者可间接实施欺诈性交易或破坏业务逻辑。对于使用该插件的电商网站,建议立即升级至最新修复版本或采取临时缓解措施。
该漏洞的技术根源在于PAYGENT for WooCommerce插件在处理支付回调请求时存在两处关键安全缺陷。第一处缺陷位于paygent_check_webhook函数,该函数负责处理来自支付网关的回调通知,但缺少WordPress的权限验证检查,通常应使用current_user_can()或类似的权限验证机制来确保只有合法请求能够执行敏感操作。第二处缺陷更为严重,paygent_permission_callback回调函数在代码第199行被设计为无条件返回true,这意味着即使在需要认证的REST API端点中,该函数也会错误地允许所有请求通过验证。攻击者可以利用/wp-json/paygent/v1/check/这个REST API端点构造恶意请求,由于权限验证被绕过,系统会信任并处理攻击者伪造的支付通知数据。这些伪造的数据包含虚假的交易状态信息,可被用来将任意订单状态修改为已支付、已退款或其他状态。漏洞利用无需任何认证信息,攻击者仅需构造符合API格式的HTTP POST请求即可。修复方案需要在paygent_permission_callback函数中实现正确的权限检查逻辑,例如验证请求是否来自合法的支付网关IP、验证回调签名是否有效,或要求进行适当的用户身份认证。