Formidable Forms 漏洞可让攻击者「薅羊毛」:低价支付即可完成高额订单
Formidable Forms 是 WordPress 生态中一款流行的表单构建插件,安装量超过 30 万站点。攻击者可利用该插件的支付验证缺陷,用小额 Stripe 支付完成高额订单,从而绕过支付完整性检查。
漏洞概况
该漏洞编号为 CVE-2026-2890,CVSS 评分 7.5/10(高危)。最令人担忧的是,漏洞利用无需任何认证权限——攻击者无需登录账号,甚至不需要订阅者级别的访问权限,即可发起攻击。这大大降低了利用门槛。
漏洞影响 6.28 及以下所有版本。目前官方已在 6.29 版本中修复,建议所有使用该插件的站点立即升级。
漏洞原理
问题出在 handleonetimestripelinkreturnurl 函数。该函数在处理 Stripe 支付返回时,仅根据 PaymentIntent 的状态就标记支付记录为已完成,而未将实际扣款金额与预期金额进行比对。
同时,verify_intent() 函数也仅验证客户端密钥归属,未将 PaymentIntent 与特定表单提交绑定——既不检查金额是否匹配,也不验证交易与表单的对应关系。
攻击链路如下:
- 攻击者以较低金额完成一笔真实的 Stripe 支付,获得有效 PaymentIntent;
- 将该 PaymentIntent 重新用于高额订单的支付流程;
- 系统仅验证 PaymentIntent 状态为"已支付",即标记高额交易完成;
- 攻击者以低价获得高价商品或服务。
漏洞不涉及远程代码执行或服务器直接被入侵,但攻击者可借此绕过支付、获取实际经济利益。
修复建议
- 立即升级至 Formidable Forms 6.29 或更高版本;
- 检查近期支付记录,排查是否存在金额异常的交易;
- 如无法立即更新,可考虑临时关闭 Stripe 支付集成。