CVE-2025-14463CVE-2025-14463是WordPress平台上一款名为"Payment Button for PayPal"的插件存在的严重安全漏洞。该插件用于在WordPress网站中集成PayPal支付按钮和结账功能。漏洞根源在于插件暴露了一个公开的AJAX端点(wppaypalcheckout_ajax_process_order),该端点在处理PayPal结账结果时缺少必要的身份验证机制和服务器端交易验证。攻击者无需任何账户凭证即可直接向该端点发送POST请求,伪造任意交易信息,包括交易ID、支付状态、产品名称、金额和客户信息等。这不仅导致攻击者可以在网站上创建虚假订单,造成订单数据库污染,还可能触发向任意邮箱发送虚假的购买收据邮件,用于钓鱼攻击或社交工程。此外,攻击者还可以利用此漏洞进行商业欺诈,虚假订单可能导致商家遭受经济损失或商誉损害。由于该漏洞影响版本众多(从初始版本到1.2.3.41),且利用难度低(无需认证和用户交互),建议所有使用该插件的用户立即采取修复措施。
该漏洞的技术本质是缺少访问控制和不安全的直接对象引用(IDOR)。在插件的wp-paypal-checkout.php文件中,第249行附近的wppaypalcheckout_ajax_process_order AJAX端点直接处理客户端提交的订单数据,而没有进行以下关键安全验证:1)用户身份验证:端点未检查用户是否已登录或具有相应权限;2)PayPal交易验证:插件未在服务器端调用PayPal API验证交易ID的真实性和状态;3)CSRF保护缺失:缺少CSRF token验证,容易遭受跨站请求伪造;4)输入验证不足:仅进行基本参数验证,攻击者可轻易绕过。攻击者构造的恶意请求通常包含:transaction_id(伪造的交易ID)、payment_status(如completed、pending等)、item_name(任意产品名)、amount(任意金额)和customer_email(任意邮箱)。当插件接收到这些参数后,如果邮件发送功能启用,将自动向指定邮箱发送购买确认邮件,即使该交易从未真正发生。这种设计缺陷使得整个支付验证流程完全失效,攻击者可以完全控制订单创建过程。