CVE-2026-2888CVE-2026-2888是WordPress Formidable Forms插件中的一个严重授权绕过漏洞。该漏洞存在于插件的Stripe支付集成功能中,攻击者可以通过操纵AJAX请求中的支付金额,在未经授权的情况下修改PaymentIntent的金额。具体来说,插件的`frm_strp_amount` AJAX处理器(`update_intent_ajax`)会使用攻击者控制的JSON输入覆盖全局`$_POST`数据,然后通过字段短代码解析重新计算支付金额。攻击者利用公开暴露在页面JavaScript中的nonce值(`frm_stripe_vars.nonce`)绕过CSRF保护,但由于nonce本身不提供授权验证,攻击者可以冒充任意用户修改支付金额。这使得攻击者能够以大幅降低的价格购买商品或服务,造成经济损失。该漏洞影响所有版本至6.28版本,由于CVSS评分为5.3(中等严重性),且攻击复杂度低,无需认证和用户交互,因此实际威胁程度较高。
漏洞根源在于Formidable Forms插件的Stripe支付处理流程中存在授权验证缺陷。在`FrmStrpLiteHooksController.php`的第88行附近,`update_intent_ajax`函数接收攻击者控制的JSON数据并直接覆盖PHP的全局`$_POST`数组。随后,这些被篡改的数据被传递给`generate_false_entry()`函数,该函数通过解析字段短代码(shortcodes)来重新计算支付金额。关键问题在于:1) nonce验证仅用于CSRF防护,不验证用户权限;2) nonce值(`frm_stripe_vars.nonce`)直接暴露在前端JavaScript中,任何人都可以获取;3) 支付金额计算逻辑依赖客户端可控的输入而缺乏服务端验证。攻击者可以通过构造恶意AJAX请求,将支付金额修改为任意值(如0.01),从而以极低价格完成交易。此漏洞特别影响使用动态定价和字段短代码的表单,如自定义价格计算器、数量乘以单价的商品表单等场景。