CVE-2025-11271CVE-2025-11271是WordPress平台下知名电商插件Easy Digital Downloads中的一个严重安全漏洞。该插件被广泛应用于WordPress网站,用于销售数字产品。漏洞存在于PayPal支付网关的IPN(Instant Payment Notification)验证逻辑中,攻击者可以通过在POST请求中注入特定的参数来绕过订单验证机制。具体而言,当请求中包含verification_override=1参数时,系统会无条件跳过支付验证流程,这意味着攻击者可以伪造支付通知,使系统误认为支付已完成,从而获取未付费的数字产品或服务。此漏洞影响该插件3.5.2及之前的所有版本,由于Easy Digital Downloads拥有数十万活跃安装量,此漏洞可能影响大量依赖该插件进行数字产品销售的网站。攻击者需要拥有有效的PayPal交易ID才能利用此漏洞,且只能操纵自己账户下的订单,但这仍然为恶意用户提供了免费获取付费内容的机会,给网站所有者造成直接经济损失。此外,该漏洞还可能被用于测试支付系统的完整性,为更复杂的攻击奠定基础。
漏洞根源在于Easy Digital Downloads插件的PayPal IPN处理模块存在逻辑缺陷。在文件includes/gateways/paypal/ipn.php或src/Gateways/PayPal/IPN.php中,验证函数会对PayPal发送的IPN通知进行签名验证,以确保支付通知的真实性和完整性。然而,代码中存在一个致命的缺陷:验证逻辑被一个可由用户控制的参数verification_override所控制。当攻击者在POST请求中设置verification_override=1时,验证检查被完全跳过,导致系统无条件信任该支付通知。这意味着即使在生产环境中启用了验证机制,攻击者仍然可以通过构造恶意请求来绕过安全检查。攻击者需要拥有一个有效的PayPal商家账户以获取真实的交易ID,但通过操纵自己账户的订单,攻击者可以发起攻击:首先创建一个正常订单并完成支付获取有效的PayPal交易ID,然后使用该交易ID配合verification_override=1参数伪造IPN通知,欺骗系统认为订单已支付,从而获取数字产品。由于验证被绕过,系统无法识别这是伪造的支付通知,从而错误地将订单标记为已完成并交付产品。